Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Delphiニュース調査

ベンチマークで検証!DelphiとElectronの最終ビルド時間

del elec 04 ja

最終ビルド時間は、そのフレームワークがアプリケーション構築に要するトータル時間を測るものです。ホワイトペーパー「ベンチマークで検証!クロスプラットフォーム開発向けベストフレームワーク」では、マルチプラットフォーム デスクトップ アプリケーション開発向けの2つのフレームワークDelphi、Electronを評価しています。

このブログ記事では、DelphiとElectronに対して行われた26の定量評価とその結果の一部をピックアップしたシリーズの第4弾です。このシリーズの最初の記事は、こちらをご覧ください。

ベンチマークカテゴリ:開発者の生産性

開発生産性とは、典型的な開発タスクの完了までに要する工数とコードを測る尺度です。生産性は製品の市場投入までの時間と長期的な人件費に直接影響するため、開発生産性を向上するツールはタイムリーなビジネス展開と最終収益に大きな影響を与えます。生産性の向上は、ネイティブ ライブラリによるコーディング要件の軽減、およびコード補完やビジュアル設計のようなIDEツールの活用という、明確に異なる2通りの方法で実現可能です。広範なライブラリを備えたIDEは、一般的にアプリケーションあたりのコードの行数が少なくて済み、バグや製品ライフサイクル後半のメンテナンス問題の発生を最小限に抑える、クリーンで軽量なコードベースを生成します。

ベンチマーク メトリクス 4/26: 最終ビルド時間

最終ビルド時間:既知のソリューションを用いたアプリケーション作成の「スピードラン」に要した合計時間。この尺度は、実効的ソリューションに関する完璧な知識をもつ熟練開発者によって完全なアプリケーションを完成するために要したアクション数とコード量を測定します。生産性の高いフレームワークを採用すれば、反復的であるものの若干相違するタスクに要する開発時間を短縮できます。

ベンチマーク結果

Delphiスコア:5(5点満点)

Electronスコア:3(5点満点)

一旦構築が完了したのち、Electronアプリケーションは「スピードラン」の比較ではDelphiアプリケーションの半分の時間でしたが、開発者が入力したコードの行数はほぼ2倍でした。これは主に、DelphiのIDEでは、コンポーネントのドラッグ&ドロップによるビジュアル開発が提供され、コンポーネントの構成に要する時間を犠牲にしてGUI構築に伴う複雑性を軽減できるからです。

他方、Delphiはその他の評価指標では優位性を発揮しました。データベースおよびネットワークコードの行数は、開発者が入力した合計行数の僅か46%、一方Electronは61%でしたが、これは、明らかに、DelphiのFireDACデータベースライブラリとネットワークツールがこれらの操作をNode.jsよりも的確に抽象化し、開発者の労力を軽減、誤りの発生を抑制することを示唆しています。

総合すると、初期開発工程の比較では、DelphiとElectronの評価結果はほぼ同等に見えます。ところが、内部単体テストを追加した仕様変更のあと、上記の結論は変わりました。開発パートナーがテスト要件を十分に理解した後、Delphiアプリケーションの変更・受入合格までに要した作業時間は8.33時間でした。他方、Electronアプリケーションは同じ機能を追加する作業に47.8時間を要しました。Electron開発者は28.6時間以内に開発環境にテスト機能を実装したものの、クライアントマシン(Windows、macOS、Linux)で発生した様々なJavaScriptおよびデータベースライブラリに関するエラーのトラブルシューティングを行った結果、修正したRSSリーダーを納品するまでにほぼ2倍の時間がかかり、47.8時間となりました。


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

IN THE ARTICLES