サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

DelphiはWPFやElectronと比較して劇的な生産性向上を実現

wp1 productivity

エンバカデロでは、Delphi、WPF .NET Framework、Electronの3つをWindowsデスクトップアプリケーション構築の観点で比較するホワイトペーパーの執筆を委託しました。 同書で使用したベンチマークアプリケーションは、Windows 10 Calculator(電卓)のクローンですが、3名のDelphi MVP(Most Valuable Professionals)の有志、1名のフリーランスのWPF開発者、1名のフリーランスのElectron開発者のエキスパートによって、それぞれのフレームワークによって再構築されたものです。このブログ記事では、ホワイトペーパーで生産性の比較おいて使用された、開発時間のメトリックについて説明していこうと思います。

開発者は今日、多様なプラットフォーム向けの開発タスクの実装を可能にする、多様なフレームワークの選択肢に恵まれています。しかしながら、あらゆるプロセスで利用できるソリューションが豊富にあるということは、一見有利なようで、かえって障害になる場合があります。どのフレームワークが対象のプラットフォームやプロジェクトで最適かが分からなくなる恐れがあるのは、まさにこの豊富なフレームワークの選択肢であり、フレームワーク、IDEそしてツールの合理的な比較手法が必要になるゆえんです。一般的なフレームワークとIDEの長所と短所を正確かつ批判的に評価することは、「shiny object syndrome(新しいテクノロジーへの過剰な期待)」を排し、期待される機能とパフォーマンスを提供できるような長期的ソリューションを選択していくためには不可欠なのです。

重要な評価をIDEのようなキーとなる開発者ツールに適用する手法とは

エンバカデロでは、Delphi、.NET Framework WPF(Windows Presentation Foundation)、Electronの比較のために、Calculatorアプリケーションの開発を通したベンチマーク手法を定義し、この課題に取り組みました。その調査結果は、各フレームワークの生産性、機能性、柔軟性、パフォーマンスについての総評を導き出し、結論としてホワイトペーパー「ベンチマークで検証!ベスト開発フレームワークとは」の公開に至りました。

ベンチマーク

3つのフレームワークを比較するために用いたベンチマーク戦略は、参加者がそれぞれ、Windows 10に「標準」添付されている電卓アプリケーションのクローンを作成することでした。その意図するところは、各フレームワークのパフォーマンスを、特定のメトリックごとの観点で測定し、比較できるようにすることです。フレームワークの評価は、開発生産性、ビジネス機能、フレームワークアプリケーションの柔軟性、エンドポイントパフォーマンスのそれぞれの観点で、それぞれのメトリックを測定、評価しました。

開発生産性

開発生産性をサポートするフレームワークの能力は、アプリケーションの市場投入に要する時間と長期的な人件費への影響を測る尺度です。つまり開発生産性は、ビジネス展開と最終収益に大きな影響を与えます。生産性の主要な指標の1つは、開発時間、つまり、完全に機能するアプリケーションをスクラッチから構築するのに要する合計時間です。このメトリックでは、フレームワークで利用できる生産性向上支援ツール、ドキュメント、ライブラリ、コード補完、開発スピードを高めるその他のツールがどの程度役に立つのかが影響してきます。

それでは、各フレームワークについて詳細を見ていきましょう。

Delphi

3人の熟練のDelphi開発者がRAD Studioを使用してCalculatorを作成したところ、平均4.66時間で完成させることができました。ある開発者は、Delphi Calculatorのコードとサードパーティライブラリを用いて、わずか7分でElectron Calculatorを作成してみせ、Delphiコードの再利用性の高さを実証しました。以下は、Delphiによる開発の様子を撮影したタイムラプスビデオです。

WPF .NET Framework

ある熟練のWPF開発者がVisual Studioを使用してCalculatorを作成したところ、30時間で完成させることができました。他のWPF開発者16人の推定値は、8~100時間の範囲で、平均値は53時間、最頻値は80時間でした。。以下は、WPFによる開発の様子を撮影したタイムラプスビデオです。

Electron

ある熟練のElectron開発者は、Calculatorのロジックの実装にAngularを使用しGUIにElectronを使用することで、10時間で完成させることができました。他のElectron開発者8人の推定値は、15~80時間の範囲で、平均値は47時間、最頻値は20時間でした。以下は、Electronによる開発の様子を撮影したタイムラプスビデオです。

スコア

3つの開発フレームワーク比較の詳細は、ホワイトペーパー「ベンチマークで検証!ベスト開発フレームワークとは」(日本語版)をダウンロードしてご覧ください。

モバイルバージョンを終了