Embarcadero commissioned a whitepaper to investigated the differences between Delphi, WPF .NET Framework, and Electron for building Windows desktop applications. The benchmark application – a Windows 10 Calculator clone – was recreated in each framework by three Delphi Most Valuable Professionals (MVPs) volunteers, one expert freelance WPF developer, and one expert Electron freelance developer. In this blog post we are going to explore the Development Time metric which is part of the Productivity comparison used in the whitepaper.
Developers today have the luxury of choosing from a variety of available frameworks that allow development tasks to be implemented for different platforms. The plenitude of available solutions for any process may at times seem like a hindrance disguised as a benefit. It is this plenitude that can lead to confusion about which framework is the best for a given platform or project, and necessitates the use of a system of rational comparison between frameworks, IDEs and tools. Making accurate critical assessments of the benefits and drawbacks of common frameworks and IDEs is vital for transcending “shiny object syndrome” to find a long-term solution that can deliver the expected functionality and performance.
How can such a critical assessment be applied to a key developer tool like an IDE?
Embarcadero approached this challenge by defining a benchmarking methodology using the development of a calculator application for comparison between Delphi, Windows Presentation Foundation (WPF) with .NET Framework, and Electron. The results supported conclusions about each framework’s productivity, functionality, flexibility, and performance, and these conclusions were published in a whitepaper “Discovering the Best Developer Framework Through Benchmarking“.
As a benchmarking strategy for the comparison between the three frameworks, participating developers built a clone of the Windows 10 “Standard” calculator. The intention was to test each framework’s performance with reward to a specific set of metrics, and allow side-by-side comparisons. The frameworks were evaluated based on a set of metrics measuring performance in terms of developer productivity, business functionality, framework application flexibility, and end-product performance.
The ability of a framework to support developer productivity is a measure of its ability to speed up the time it takes to bring an application to market, and its influence on long-term labor costs. Developer productivity, therefore, directly affects the sustainability and profitability of a business. One core Productivity metric is Development Time, or in other words the total number of hours required to write a fully functional application from scratch. This metric is affected by the usefulness of a framework’s productivity tools, documentation, libraries, code completion and other tools that speed up development.
Let’s take a closer look at each framework separately.
Three expert Delphi developers completed the Calculator in an average of 4.66 hours using RAD Studio. One developer used his Delphi calculator code and a 3rd party library to create an Electron calculator in 7 minutes, demonstrating the code-reusability of Delphi. The video featured below is a time lapse of the build in Delphi.
WPF .NET Framework
One expert WPF developer completed the Calculator in 30 hours using Visual Studio. 16 other WPF estimates were received ranging from 8 hour to 100 hours with a mean of 53 hours and a mode of 80 hours. The video featured below is a time lapse of the build in WPF.
One expert Electron developer completed the Calculator in 10 hours using Angular for the calculator logic and Electron for the GUI. Eight other Electron estimates were received ranging from 15 to 80 hours with a mean of 47 hours and a mode of 20 hours. The video featured below is a time lapse of the build in Electron.