開発生産性をサポートするフレームワークの能力は、アプリケーションの市場投入に要する時間と長期的な人件費への影響を測る尺度です。つまり開発生産性は、ビジネス展開と最終収益に大きな影響を与えます。
生産性の主要な指標の1つは、開発時間、つまり、完全に機能するアプリケーションをスクラッチから構築するのに要する合計時間です。このメトリックでは、フレームワークで利用できる生産性向上支援ツール、ドキュメント、ライブラリ、コード補完、開発スピードを高めるその他のツールがどの程度役に立つのかが影響してきます。ところで、開発時間に関係するもう1つの指標があります。それは、ソフトウェアを構築したのち、それをどのように配置(配布)するかです。
Windowsデスクトップアプリケーションの構築において、他のフレームワークとDelphiを比較するには、どのようなアプローチを採ればよいのでしょうか。エンバカデロでは、Delphi、WPF .NET Framework、Electronの3つをWindowsデスクトップアプリケーション構築の観点で比較するホワイトペーパー「ベンチマークで検証!ベスト開発フレームワークとは」の執筆を委託しました。同書で使用したベンチマークアプリケーションは、Windows 10 Calculator(電卓)のクローンですが、3名のDelphi MVP(Most Valuable Professionals)の有志、1名のフリーランスのWPF開発者、1名のフリーランスのElectron開発者のエキスパートによって、それぞれのフレームワークによって再構築しています。
各フレームワークは、開発生産性、ビジネス機能、フレームワークアプリケーションの柔軟性、エンドポイントパフォーマンスのそれぞれの観点で、それぞれのメトリックから測定、評価されました。このブログ記事では、ベンチマークで使用した23のメトリックスのひとつ「App Storeへの配置」メトリックについて説明します。
Table of Contents
App Storesへの配置をどのようにスピードアップするか?
「App Storeへの配置」というメトリックに隠された意図は、各フレームワークのIDEが、ネイティブプラットフォームアプリケーションストア(iOS App Store、Android用Google Play、Microsoft)にどのような配置機能を有しているかを計測することでした。ビルトイン配置機能を備えたフレームワークは配置に伴う複雑性を低減し、誤差の発生や複合化の可能性を抑制し、製品およびアップデート/バグフィックスの市場投入までの時間を短縮します。
製品開発の生産性を測る重要な側面は、構築したアプリケーションをユーザーに配置するまでに要した時間です。この尺度ではDelphiは最高得点を挙げました。RAD Studio IDEは、すべての主要なデスクトップおよびモバイル用のApp Storeへの配置を自動化し、煩雑な手動配置を解消し、バグを生まない、反復可能なビルドプロセスであることを保証します。WPFとElectronはこの観点では苦戦しています。WPFアプリケーションは別のフレームワークに変換しない限りMicrosoft Storeに直接配置することはできず、Electronアプリケーションはサードパーティツールを使用してのみMicrosoft Storeに配置できます。企業は、開発支援フレームワークを選択する際に、製品開発から配置に至るまでの一連のマラソンレースにおける「ラスト1キロ」に残された課題に留意しなければなりません。
それでは、各フレームワークについて詳細を見ていきましょう。
Delphi
DelphiのVCLフレームワークは、Microsoft Storeに直接配置できます。DelphiのFMXフレームワークは、Microsoft Store、Apple App Store、Android用のGoogle Play Storeに直接配置できます。いくつかのケースでは、APKやIPAなどのプラットフォームパッケージをアップロードする必要があります。AndroidやiOSへの配置は、このホワイトペーパーで明示的にカバーされてはいませんが、Delphiではこれらのプラットフォーム向けの配置機能を提供しています。
Microsoft StoreにDelphiアプリケーションを配置する方法
https://blogs.embarcadero.com/learn-how-to-deploy-your-delphi-applications-to-the-microsoft-store/
DelphiによるiOSモバイルアプリケーション開発
http://docwiki.embarcadero.com/RADStudio/Sydney/ja/IOS_モバイル_アプリケーション開発
DelphiによるAndroidモバイルアプリケーション開発
http://docwiki.embarcadero.com/RADStudio/Sydney/ja/Android_モバイル_アプリケーション開発
WPF .NET Framework
WPFアプリケーションは、いずれのストアにも直接配置することはできません。UWP(Universal Windows Platform)に変換することで、WPF .NET FRAMEWORKアプリをMicrosoft Storeに配置できます。また、Xamarinに変換することで、モバイル用ストアへの配置も可能になります。
MSIXパッケージングツールはMicrosoftから提供されており、WPF、Delphi、Electronアプリのいずれでも利用できますが、WPFツールとは別にインストールする必要があります。詳細は、Microsoftの記事「任意のデスクトップインストーラー (MSI、EXE、ClickOnce、または App-v) からの MSIX パッケージの作成」をご覧ください。
Electron
Electronアプリケーションは、Microsoft Store向けにパッケージ化できますが、デフォルトでは直接配置することはできません。これに対するサードパーティオプションが用意されています。Electronアプリケーションは、Apple App Store向けにもパッケージ化できますが、自動化プロセスが欠けています。
ElectronアプリでもMSIXパッケージングツールを使用することができますが、もちろん別途インストールが必要になります。
3つの開発フレームワーク比較の詳細は、ホワイトペーパー「ベンチマークで検証!ベスト開発フレームワークとは」(日本語版)をダウンロードしてご覧ください。