このブログ記事では、DelphiとElectronの双方のフレームワークを、App Storeへの配置という観点で比較します。つまり、どちらのIDEが、より配置に関する複雑性を軽減し、どの程度容易にApp Storeへ直接配置し、市場への投入までの時間を短縮できるかを考察します。
ホワイトペーパー「ベンチマークで検証!クロスプラットフォーム開発向けベストフレームワーク」では、マルチプラットフォーム デスクトップ アプリケーション開発向けの2つのフレームワークDelphi、Electronを評価しています。
Table of Contents
Delphi
Delphiは、RAD(Rapid Application Development)手法による開発をサポートするRAD Studio IDEにカプセル化されているエンバカデロ・テクノロジーズの主力製品です。Object Pascal言語の独自バージョンとして、Delphiは、コンポーネントの「ドラッグ&ドロップ」、大半のモバイルプラットフォームに対応するWYSIWYG ビューワ、ルック&フィールをフルカスタマイズ可能なプラットフォーム標準装備のユニークなIDEツールパレットを含む堅牢なスタイルオプションを搭載し、視覚的なアプリケーション開発を特徴とします。その他の特徴として、GUIコントロール、データベースアクセスマネジャ、ターゲットプラットフォームハードウェア/プラットフォームオペレーティングシステムへのダイレクトアクセスを提供するライブラリが含まれています。Delphi FireMonkey(FMX)フレームワークは、32-bitおよび64-bit Windows、macOS、Linux, Android、iOS、そしてLinux向けネイティブコードにコンパイル可能で、市場の大半に展開できる、単一コードベースの開発およびメンテナンスを可能にします。Delphiは 25年以上にわたり利用されています。
Electron
Electronはオープンソース(MITライセンス)のChromiumベースのフレームワークで、Web技術を利用してWindows、macOS、Linux向けデスクトップアプリケーションを構築します。Electronは、Microsoftの子会社であるGitHubが開発、保守しています。Electronは、ChromiumベースのレンダリングエンジンとNode.jsサーバー環境で構成されています。それ自体、ElectronアプリケーションのUIは、HTML5およびCSS経由で使用可能です。一般に、Electronは、Angular、Vue.js、Reactといった大半のJavaScriptフレームワークを使ってアプリケーションを開発します。Chromiumで見つかるHTML5、CSS、JavaScriptベースの技術は、Web開発者には馴染みのある、充実したユーザーカスタマイゼーションのエコシステムを提供します。誕生して5年という比較的若いコミュニティですが、データベースアクセス、オペレーティングシステムインタラクションやその他のタスク向けオープンソースパッケージが提供されています。
26のベンチマークメトリクス
このブログ記事は、DelphiとElectronに対して行われた26の定量評価とその結果の一部をピックアップしたシリーズの第6弾です。このシリーズの最初の記事は、こちらをご覧ください。
ベンチマークカテゴリ:開発者の生産性
開発生産性とは、典型的な開発タスクの完了までに要する工数とコードを測る尺度です。生産性は製品の市場投入までの時間と長期的な人件費に直接影響するため、開発生産性を向上するツールはタイムリーなビジネス展開と最終収益に大きな影響を与えます。生産性の向上は、ネイティブ ライブラリによるコーディング要件の軽減、およびコード補完やビジュアル設計のようなIDEツールの活用という、明確に異なる2通りの方法で実現可能です。
広範なライブラリを備えたIDEは、一般的にアプリケーションあたりのコードの行数が少なくて済み、バグや製品ライフサイクル後半のメンテナンス問題の発生を最小限に抑える、クリーンで軽量なコードベースを生成します。フレームワークの開発生産性は、フレームワーク/IDEが製品の市場投入までの時間の短縮にいかに寄与するかを把握するため、6のメトリクスに照らして評価しました。
ベンチマーク メトリクス 6/26: App Storeへの配置
App Storeへの配置:フレームワークはネイティブプラットフォームアプリケーションストア(iOS App Store、Android用Google Play、Microsoft Store)に直接配置できるか?ビルトイン配置機能を備えたフレームワークは配置に伴う複雑性を低減し、誤差の発生や複合化の可能性を抑制し、製品およびアップデート/バグフィックスの市場投入までの時間を短縮します。
ベンチマーク結果
Delphiスコア:5(5点満点)
DelphiのFMXフレームワークは、Microsoft Store、Apple App Store、Android用のGoogle Play Storeに直接配置できます。いくつかのケースでは、APKやIPAなどのプラットフォームパッケージをアップロードする必要があります。
Electronスコア:2(5点満点)
Electronアプリケーションは、Microsoft Store向けにパッケージ化できますが、デフォルトでは直接配置することはできません。これに対するサードパーティオプションが用意されています。Electronアプリケーションは、Apple App Store向けにもパッケージ化できますが、自動化プロセスが欠けています。