相对比功能受限的WPF .NET Framework和Electron开发框架Delphi是当之无愧的真正的全栈万能开发工具

wp1_project_variety

相对而言,Delphi,WPF .NET Framework和Electron的性能如何?进行客观比较的最佳方法是什么?Embarcadero委托进行了一份白皮书,以研究Delphi,WPF .NET Framework和Electron之间用于构建Windows桌面应用程序的区别。由三个Delphi最有价值专家(MVP)志愿者,一名自由WPF开发人员和一名Electron自由开发人员在每个框架中重新创建了基准应用程序Windows 10 Calculator克隆。在此博客文章中,我们将探索项目多样性指标,该指标是白皮书中使用的灵活性比较的一部分。

关于此比较,需要明确的一件事是,Delphi是一个集成的IDE,具有多个平台目标和框架,可用于整个开发栈的多种不同用途。WPF是“创建桌面客户端应用程序的UI框架”(微软自己的话),Electron是构建跨平台桌面客户端应用程序的一种解决方案。Delphi附带的框架是VCL和FMX以及RTL(运行时库)和项目类型,例如Windows服务,TCP / IP服务器解决方案,控制台应用程序,DLL,针对IIS和Apache的Web解决方案等等。Delphi允许您创建Windows桌面客户端应用程序,例如WPF和Electron,但您还可以在Delphi中构建更多功能,而不仅仅是桌面客户端应用程序。Delphi可以创建从Web应用程序到移动应用程序再到桌面应用程序的所有内容。这不是与NodeJS和C#的比较,后者提供了许多解决方案,这些解决方案也可以解决其他类型的应用程序。

计算

项目多样性如何影响选择应用程序框架?

该框架是否支持从独立的桌面应用程序到Windows服务的不同类型的应用程序开发?汉武帝药枕灵活的框架允许开发人员创建移动应用程序,桌面服务以及两者之间的所有内容。

与WPF和Electron相比,Delphi的主要优势在于其FMX框架可以将源代码主体作为二进制文件部署到任何主要的台式机或移动平台,从而最大程度地扩大了业务覆盖客户的范围,并最大程度地减少了代码重复和维护/升级的麻烦。它可以支持各种规模的项目,从用于工业自动化的逻辑控制器到全球范围的库存管理,并且可以为从数据库繁重的后端到应用程序的GUI客户端的每个层开发。最后,Delphi的标准库可轻松访问几乎所有可用的数据库类型,并允许开发人员访问每个平台上的操作系统功能以及与I / O设备和硬件传感器进行交互。

带有.NET Framework的WPF直接针对Windows计算机,并通过来自类似代码库的浏览器部署提供跨平台支持。该框架主要面向客户端桌面应用程序,但可以将C#中的业务逻辑合并到中间层或后端功能中,并访问ADO .NET实体框架以获取数据库。WPF可以通过.NET库访问Windows操作系统功能和I / O设备,但是在编译后使用托管代码(而不是本机代码)访问WPF。

Electron是一个开放式源代码框架,可通过其Chromium浏览器库针对所有台式机操作系统。它侧重于通常以Web为中心的客户端应用程序,但将node.js用于中间层和后端服务。Electron通过其node.js进程提供硬件访问,并且可以通过node.js库访问某些但不是全部操作系统功能。

wp1_project_variety_gauge-7311258

让我们具体看一下每个开发框架。

Delphi

Delphi可用于创建从Windows服务到可编程单片机系统(PSOC)到具有数据库,UI和网络组件的企业级应用程序的所有级别的应用程序。第三方工具将Delphi应用程序扩展到Web开发,例如:intraweb、UniGUI、TMS WEB CORE等等。

在Delphi中构建的样例应用程序展示:https://blogs.embarcadero.com/category/showcase/

WPF .NET框架

带有.NET Framework的WPF专注于开发“外观精美的桌面应用程序”。它可以访问所有Windows .NET功能,包括数据库访问和多媒体工具。

Electron

Electron应用程序通过在Chromium浏览器中运行来模仿桌面应用程序,并且通常以Web为中心(即,协作,消息传递等)。Electron将node.js用于本机服务,实用程序和后端应用程序。

Delphi提供了最大的框架灵活性

在回顾了所有三个框架之后,Delphi凭借其在所有主要平台上的灵活和自动化部署,对每个开发级别的可伸缩性以及可视化设计系统,在灵活性类别中保持领先地位。具有.NET Framework的WPF在Windows平台上具有竞争力,但缺乏在macOS或移动设备上竞争的能力。最后,Electron的进入障碍最少,开发工具选项最多,但在很大程度上依赖于手动部署,默认情况下不能直接针对移动设备,可扩展性最低,并且缺乏与竞争对手相同的硬件和操作系统访问权限。

探索“通过基准测试发现最佳开发人员框架”白皮书中的所有指标:

下载适用于Windows台式机的免费Delphi,WPF和Electron白皮书


使用RAD Studio,Delphi或C ++ Builder减少开发时间并更快地推向市场。设计。编码。编译。部署。
CnPack是什么? CnPack是一个仍在筹划开发中的Delphi第三方开发包:-) ,它的全称是 CnPack For Delphi 开发包。 与一般的控件包不同的是,CnPack开发包除了包括大量的组件外,还包括用于IDE扩展的专家包、大量的通用窗体库、数据桌面、组件编写工具等辅助开发工具,以及一个版本控制系统等等与Delphi软件开发相关的代码、文档和程序。 CnPack由网上的自愿者们组成的CnPack开发组制作,是一个典型的网上合作开发项目。 CnPack是一个完全符合GPL LGPL协议的自由程序库。 CnPack开发组将用2002年全年甚至更长的时间来完成这一开发计划。 为什么要开发CnPack呢? Delphi以其完全开放的VCL体系吸引了很多的程序员,通过使用第三方的代码和控件,可以极大的提高软件开发效率。然而,在大量的优秀控件中,由中国程序员制作的却少得可怜。除去商业控件包不说(恕小弟识浅,哪位朋友见过国产的商业控件包吗?),国内有多少控件包可以和RxLib、GExpert、FastReport、FlatStyle等这些免费、共享包相提并论?CnPack的计划就是集中大家的力量制作一个真正优秀的大型开发包,同时提供大量的代码和文档让Delphi程序员参考和学习。我想,不需要我做太多解释,大家也能理解开发CnPack的意义:1、对程序员用户而言,首先,开发包所有文档、注释都将使用中文编写,这对很多E文不好的程序员来说绝对是一件好事。其次,技术支持和学习交流将变得方便,有多少人可以从国外获得控件包的技术支持呢?当然,前面两点国产优势都是次要的,CnPack的设计目标是一个真正功能强大、实用的开发包,能帮助程序员更方便地做出好的软件。 2、对开发人员而言,通过开发,可以对Delphi的系统结构有更深的认识,并从中学到大量的经验和技巧,而多人协作开发的经验亦是非常有用。更重要的是,我们将以自己的实际行动证明,中国的Delphi程序员并不比外国的差。CnPack包括些什么内容? 在开发计划中,CnPack包括了Delphi程序设计相关的很多方面:不可视工具组件包。 用户界面控件包。 符合中国人使用习惯的数据库、报表组件包。 网络通讯组件包。 本地化、扩展的属性、组件编辑器。 IDE扩展专家工具包。 CnVCS版本控制系统。 本地化、功能强大的数据桌面、资源编辑器、组件编写工具等辅助开发工具。 大量可重用的窗体模板库。 而在正式的开发中,将根据具体情况进行调整,详细的内容参见开发资料中相应部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值