如今,用于增强软件开发的工具的激增值得庆祝。许多优秀的程序员每天工作来构建和分发实用程序,插件和IDE,这些使我们的开发更加轻松!但是,扩散硬币的另一面描述了为寻找当前工作和未来的最佳工具而进行的不懈努力。如果您曾经遇到过八个框架在同一软件领域中争夺您的注意力,并且感到选择麻痹,那么您将了解做出如此重要的个人和企业选择有多么困难。考虑到这一点,我们正着手发布一系列白皮书,将RAD Studio与其他主要框架进行比较和对比,以进行应用程序开发,以根除最佳的长期选择困惑。我们的听众既是开发人员,他们必须密切了解他们的选择工具,决策者商业策略师也要寻求一个框架,以支持按时交付,未来扩展和长期稳定性。

方法

五个基准应用程序将用于比较选定的框架Calculatorlayout1

  • 简单的Windows 10样式计算器
  • GitHub最近浏览器
  • Windows文件资源管理器
  • Unicode RSS新闻阅读器(带有本地数据库)
    • 屏幕截图和历史记录应用

每个应用程序都包含由良好的框架(如UI设计,REST API通信,Unicode支持,数据库支持等)实现的基本功能。这些应用程序将由选定框架中的专家开发(Delphi的志愿者,其他框架的合同人)并根据评估到主要项目指标。

指标

这些论文将评估开发人员生产率,框架功能,工具灵活性和运行时性能方面的框架。  

  • 开发人员生产力是开发人员完成典型开发任务所需的工作量和代码的度量。完成开发任务所需的时间会影响解决方案的交付,所生成的代码量也会影响维护工作(更多代码=更多错误)。生产率直接影响产品上市时间和长期劳动力成本。生产率将通过比较初始开发速度,最终“ speedrun”构建时间以及在主题框架中编写的每个基准测试应用程序的代码大小来衡量。  
     
  • 功能性是指其对指定任务的适用性,在此项目中将其定义为可扩展性和安全性。出色的框架功能使公司可以使用本机语言构建自己的扩展,还可以保护其源代码不被利用。框架功能将根据其固有的可扩展性,反编译阻力和已知漏洞进行评估。
     
  • 灵活性是指可以使用该工具解决的任务的广度。尽管IDE和框架在技术上是无限灵活的,因为可以在其中开发任何东西,但该项目将专注于跨平台使用,部署复杂性和需求,工具,与“应用商店”的集成以及数据库访问工具。框架的灵活性使开发人员可以最少地结合其他语言/工具来实现其目标,并为稳健的第三方工具市场提供沃土将根据每个框架的本机功能,部署选项和第三方提供的产品,对灵活性进行定性评估。
     
  • 运行时性能让最终用户判断一个应用程序与另一个具有相同功能和界面的应用程序。建立具有出色实时性能的应用程序的企业可以通过最大程度地减少等待时间和在慢速计算机上使用资源来避免客户不满意。运行时性能将通过启动时间,峰值内存使用率和平均内存使用率进行评估。

项目路线图

Embarcadero将该项目计划为RAD Studio,Delphi和C ++ Builder与其他框架之间的迭代比较,目的是促进与其他框架开发人员的对话。所有研究和数据将在GitHub上发布,以供其他人审查。第一次比较是使用计算器基准测试应用程序在RAD Studio的可视组件库(VCL)和Windows Presentation Foundation(WPF).NET之间进行的。之后,将针对Electron对RAD Studio的FireMonkey多应用程序框架进行测试。预计未来的迭代将继续通过上述基准项目进行工作,合并新框架并以这些初始论文为基础,以提供2020年领先开发工具的全面比较。

恰好在圣诞节前夕,我们兑现了为您带来新白皮书的承诺–通过基准测试开发最佳开发人员框架。本文研究了三个框架-Delphi,具有.NET Framework的Windows Presentation Foundation(WPF)和Electron-使用23指标加权评估来确定哪个框架提供最佳的开发人员生产力,业务功能,应用程序灵活性和产品性能。第一轮选了 Windows 10计算器克隆作为基准,以检查每个框架重新创建已知GUI并针对Windows桌面环境的能力。

对于Delphi开发人员来说,我们的结果可能不足为奇– Delphi VCL和FMX使得竞争脱颖而出,以5分获得4.66分,Electron以3.11分排名第二,WPF位居第二。除了得分以外,定性和定量分析提供了一些结论:

  1. Delphi及其RAD Studio IDE极大地提高了开发效率和产品上市时间。不仅如此,开发一个代码库以覆盖每个台式机和移动平台还可以简化后续发行和产品维护。
  2. 带有.NET Framework的WPF为小型团队提供了Windows应用程序和可靠的IDE的本机入口,但在与Delphi的生产力,IP安全性(注:通常指的是软件源代码不容易被反编译,Delphi是原生跨平台开发工具,所以更难被反编译)和性能相匹配的同时,还缺少Delphi和Electron的跨平台功能。 
  3. Electron提供了Delphi和WPF的免费替代方案,熟悉了前端开发人员,并提供了跨平台功能,但以IP保护(注:通常指的是软件源代码不容易被反编译,Delphi是原生跨平台开发工具,所以更难被反编译),标准IDE工具和应用程序性能(知乎网友:Electron开发的软件更占内存和体积更大运行也缓慢)为代价。

社区反馈

本文旨在开始对话!GitHub上提供了该项目的完整源代码,泰山老父供您检查和改进。阅读本文,撰写博客文章作为响应或使用更好的计算器应用程序,然后提交GitHub pull请求,以便我们可以将其添加到存储库中。发现错误?提交问题,以便我们改进此项目并为每个框架收集最佳实践和技术。没有人比我们所有人更聪明!