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. Development time is affected by the usefulness of a framework’s productivity tools, documentation, libraries, code completion and other tools that speed up development. Another metric related to development time is once you’ve built your software how do you deploy it?
How does Delphi measure up against other frameworks used for building Windows desktop applications? Embarcadero commissioned a whitepaper to investigate the performance differences between Delphi, WPF .NET Framework, and Electron using a simple app as a benchmark. Three volunteer Delphi Most Valuable Professionals (MVPs), one expert freelance WPF developer, and one expert Electron freelance developer recreated the benchmark application – a Windows 10 Calculator clone – in each framework.
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. In this blog post we are going to explore the “App Store Deployment” metric as one of the 23 metrics used in the benchmarking.
Table of Contents
How Fast to The App Stores?
The intent behind the “App Store Deployment” metric was to measure how each framework’s IDE facilitates direct deployment to native platform application stores (i.e. iOS App Store, Android’s Google Play, Microsoft Store) Frameworks with built-in deployment features reduce product deployment complexity, limiting errors that could occur or compound, and time-to-market for initial products and updates/bug-fixes.
A good metric of product development productivity is the time required to get the application to the user. Delphi scores top marks in this metric. The RAD Studio IDE automates the creation of packages to upload to the app stores for all major desktop and mobile applications, eliminating the headache of manual deployment and ensuring the process is goes smoothly repeatedly. WPF and Electron struggle in this regard – WPF cannot be deployed directly to the Microsoft Store without conversion to a different framework and Electron can only deploy to the Microsoft Store with the help of third-party tools. Businesses should keep this “last mile” aspect of product development and deployment in mind when selecting a framework for their application.
Let’s take a closer look at each framework separately.
Delphi’s VCL framework can deploy directly to the Microsoft Store format. Delphi’s FMX framework can deploy applications directly to the Microsoft Store format, the Apple App Store format, and the Google Play app store format for Android. In some cases this deployment results in a platform package such as an APK or IPA that must be uploaded. Deployment to Android and iOS and not explicitly something covered in the white paper but Delphi does offer those capabilities.
Learn How to Deploy Your Delphi Applications To The Microsoft Store
iOS Mobile App Deployment With Delphi
Android Mobile App Deployment With Delphi
WPF .NET Framework
WPF applications cannot be directly deployed to any app store. A conversion to the Universal Windows Platform (UWP) enables WPF .NET Framework apps to deploy to the Microsoft Store and conversion to Xamarin provides access to mobile app stores.
The MSIX Packaging Tool is available from Microsoft and can be used with WPF, Delphi, and Electron apps as well. However, it is a separate install from the WPF tools. Check out the article from Microsoft to learn more: Create an MSIX package from any desktop installer (MSI, EXE, ClickOnce, or App-V)
Electron applications can be packaged for the Microsoft Store but will not be deployed there directly by default. Third-party options complete the deployment process. Electron apps can also be packaged for the Apple App Store, but the process lacks automation help.
Electron apps would be able to use the MSIX Packaging Tool but of coarse it is a third party install.