Just in time for Christmas, we’re making good on our promise to bring you a new white paper – Developing the BEST Developer Framework through Benchmarking. This paper examines three frameworks – Delphi, Windows Presentation Foundation (WPF) with .NET Framework, and Electron – using a 23-metric weighted evaluation to determine which offers the best developer productivity, business functionality, application flexibility, and product performance. This first round chose a Windows 10 calculator clone as the benchmark to examine each framework’s ability to re-create a known GUI and target the Windows desktop environment.
Our results are likely unsurprising to Delphi developers – Delphi VCL and FMX blew the competition out of the water, scoring 4.66 points out of 5. Electron was a distant second with 3.11 points and WPF took last place. Scores aside, the qualitative and quantitative analysis provides a few conclusions:
- Delphi and its RAD Studio IDE profoundly enhance development productivity and product time-to-market. Not only that, developing one codebase to reach every desktop and mobile platform simplifies successive releases and product maintenance.
- WPF with the .NET Framework offers small teams native entry to Windows applications and a solid IDE but struggles to match Delphi’s productivity, IP security, and performance while also missing Delphi and Electron’s cross-platform features.
- Electron offers a free alternative to Delphi and WPF, familiarity to front-end developers, and cross-platform capability at the cost of IP protection, standard IDE tooling, and application performance.
You can download this paper for free by visiting lp.embarcadero.com/Discovering_the_best_framework, entering your email address, and following a link sent to your inbox.
This paper is meant to start a conversation! The entire source-code for this project is available on GitHub for you to examine and improve. Read the paper, write a blog post in response or a better calculator application, and submit a GitHub pull request so we can add it to the repository. Found an error? Submit an issue so we can improve this project and collect best-practices and techniques for each framework. None of us is as smart as all of us!