Embarcadero委托白皮書研究了Delphi,WPF .NET Framework和Electron之間用于建構Windows桌面應用程式的差別。由三個Delphi最有價值專家(MVP)志願者,一名WPF專業開發人員和一名Electron自由開發人員在每個架構中重新建立了基準應用程式– Windows 10 Calculator電腦克隆。在此部落格文章中,我們将探讨長期可行性名額,該名額是白皮書中使用的功能比較的一部分。
電腦軟體
長期可行性
當企業選擇Delphi作為其開發架構時,他們将投資具有專有成本(包括運作時庫源代碼)的專有架構,該架構具有前期成本和可選的年度更新費用。以此為代價,他們獲得了穩定,向後相容且不斷發展的架構,并且可以确信今天開發的應用程式将在将來得到支援和可維護。
帶有.NET Framework的Windows Presentation Foundation在Microsoft的全力支援下為企業提供了一個經濟的架構,但包括了Microsoft選擇帶來的所有挑戰。WPF的曆史比Delphi短,但是它于2018年開源,盡管它與大多數Windows開發的專有.NET Framework有聯系,但它的某些版本可能具有光明的長期前景。微軟表示,.NET Framework 4.8是2019年4月18日的最後版本。
Electron是一個免費的開源平台,為企業提供了從任何主要作業系統開發應用程式的機會。然而,Electron的未來發展還不确定。Electron項目由GitHub運作,而GitHub現在是Microsoft的子公司。它是三個架構中的最新架構,仍處于初始階段。它缺少本機IDE,為企業提供了選擇的餘地,但也消除了一些便利,例如內建編譯和包含測試庫。與其他架構相比,使用Electron開發内部工具的企業将度過更艱難的學習曲線。
讓我們看一下每個架構。
Delphi
自1995年以來,Delphi就一直在成長,成熟和擴充。它的發展保持了向後相容性,以至于可以将1995年的應用程式移植到目前的Delphi版本中,而無需進行任何改動。全面的文檔幫助維護,并且完整的支援團隊可提供更新,遷移或故障排除幫助。在撰寫本文時,最新版本的Delphi已在2020年9月2日釋出的RAD Studio 10.4.1 Sydney中提供。想要了解更多資訊嗎?檢視許多Delphi版本的發行說明。
對于程式設計語言時間軸的某些情況,C ++于1983年問世,Python于1991年問世,Java于1995年問世,PHP于1995年問世,JavaScript于1995年問世,Delphi于1995年問世。1995年是誕生之年。如您所見,其中有很多這些程式設計語言。Delphi Anniversary網站包含1995年至今的Delphi釋出時間表。這是過去25年發行時間表的摘錄。
DELPHI 1 – 1995年2月14日
16位Windows 3.1支援,Visual Two-Way工具,元件/ VCL,通過BDE和SQL連結支援資料庫,在設計時實時運作資料庫資料
DELPHI 2(1996)
32位Windows 95支援,資料庫網格,OLE自動化,可視窗體表單繼承,長字元串,随附的16位Delphi 1
DELPHI 3(1997)
接口(基于COM),代碼洞察,元件模闆,DLL調試,WebBroker,ActiveForm,元件包,MIDAS多層體系結構
DELPHI 4(1998)
對接,錨定和限制,方法重載,動态數組,Windows 98支援
DELPHI 5(1999)
桌面布局,架構,XML支援,DBGo for ADO,語言翻譯
DELPHI 6(2001)
結構視窗,SOAP Web服務,dbExpress,BizSnap,WebSnap,DataSnap
DELPHI 7(2002)
Web應用程式開發,Windows XP主題
DELPHI 8(2003)
.NET支援
DELPHI 2005(2004)
多單元名稱空間,Error Insight,“曆史記錄”頁籤,用于..in,函數内聯,啟用主題的IDE,重構,使用中的通配符語句,資料浏覽器,內建單元測試
DELPHI 2006(2005)
操作符重載,靜态方法和屬性,設計器準則,窗體定位器視圖,實時代碼模闆,塊完成,行号,更改欄,同步編輯,代碼折疊和方法導航,調試工具提示,可搜尋工具面闆,FastMM記憶體管理器,對MySQL的支援,dbExpress,TTrayIcon,TFlowPanel,TGridPanel中的Unicode支援
DELPHI 2007(2006)
MS Build,Build Events,Build Configurations,Windows Vista支援– Glassing,主題化,dbExpress 4 –連接配接池,委托驅動程式,CPU檢視器視窗,FastCode增強,IntraWeb / AJAX支援,歡迎頁面,英語,法語,德語的Sim-ship ,日語
DELPHI 2009(2008)
Unicode,泛型,匿名方法,功能區控件,DataSnap,建構配置,類資料總管,類型庫編輯器視窗,PNG支援
DELPHI 2010(2009)
屬性,增強的RTTI,Direct2D畫布,Windows 7支援,觸摸/手勢,源代碼格式化程式,特定于線程的斷點,調試器可視化程式,用于檔案,路徑和目錄的IOUtils單元,源代碼稽核和度量标準,背景編譯,MIDAS的源代碼。動态連結庫
DELPHI XE(2010年)
正規表達式庫,Subversion內建,dbExpress –過濾器,身份驗證,代理生成,JavaScript架構,REST支援,Indy WebBroker,雲– Amazon EC2,Microsoft Azure,建構組,調試器中的命名線程,指令行稽核,名額和文檔生成
DELPHI XE2(2011年)
64位Windows,Mac OSX,FireMonkey,實時綁定– FireMonkey和VCL,VCL樣式,單元作用域名稱,平台助手,DataSnap –用于移動裝置的連接配接器,Cloud API,HTTPS支援,TCP監視,對ODBC驅動程式的dbExpress支援,部署向導。
DELPHI XE3(2012年)
适用于Windows 8、7,Vista和XP的Metropolis UI,FM控制,觸摸/手勢,布局和錨點,對位圖樣式的FM支援,FM 3D元件的TMaterial源,FM音頻/視訊,對傳感器裝置的VCL / FM支援,FM位置傳感器元件,虛拟鍵盤支援,DirectX 10支援
DELPHI XE4(2013年4月)
iOS支援–裝置,模拟器,iOS應用商店,對标準和視網膜顯示屏的iOS支援,iOS樣式,視網膜樣式,虛拟鍵盤,移動表單設計器,TWebBrowser元件,所有TObject類的iOS ARC(自動引用計數),平台服務,通知,位置,運動和方向傳感器元件,TListView元件,Mac OSX全屏支援,iOS裝置的Deployment Manager,FireDAC通用資料通路元件,InterBase – IBLite和IBToGo
DELPHI XE5(2013年9月)
Android支援–裝置和模拟器。作業系統版本:Jelly Bean,Ice Cream Sandwich和Gingerbread,通知元件,iOS 7樣式支援,移動裝置的可配置表單設計器,Android裝置的Deployment Manager,REST Services用戶端通路和身份驗證元件,Android對所有XE4 FM的支援和上面列出的資料庫功能
DELPHI XE6(2014年4月)
Windows 7和8.1樣式,基于雲的RESTful WEB服務,FireDAC與更多資料庫相容,完全內建的InterBase支援
DELPHI XE7(2014年9月)
FireMonkey多裝置應用程式支援桌上型電腦和移動平台,适用于Windows,Mac,Android和iOS的IBLite嵌入式資料庫,多顯示器支援,多點觸控支援和手勢更改,适用于Android的全屏沉浸模式,FireMonkey支援下拉菜單。 iOS和Android上的TListView的“重新整理”功能,FireMonkey儲存狀态功能
DELPHI XE8(2015年4月)
GetIt軟體包管理器,FireDAC改進,新的Embarcadero社群工具欄,iOS上的TListView,TSwitch,TMemo,TCalendar,TMultiView和TEdit的本地表示,互動式地圖,媒體庫的新選項,InputQuery現在支援屏蔽輸入字段
DELPHI 10'SEATTLE'(2015年8月)
Android背景服務支援,對NoSQL MongoDB資料庫的FireDAC支援,對Windows的zOrder支援的FireMonkey控制,用于将其中一個受支援平台上的裝置變成“信标”的New TBeaconDevice類,用于位圖樣式設計器中Windows 10樣式的StyleViewer,高-DPI意識和4K螢幕支援,Windows 10樣式,IDE中對Android服務的支援,對調用WinRT API的支援
DELPHI 10.1'柏林'(2016年4月)
Android 6.0支援,Windows Desktop Bridge支援,iOS和Android位址簿,新的ListView項目設計器,新的CalendarView控件,VCL的QuickEdits,Windows上的高DPI支援,提示屬性更改,EMS Apache Server支援,基于GetIt的Web安裝程式
DELPHI 10.2'東京'(2017年3月)
對Delphi的64位Linux支援,FireDAC為所有支援Linux的DBMS提供Linux支援,對MariaDB支援(v5.5),對v5.7的MySQL支援,對直接I / O的Firebird支援,對FMX的QuickEdits,新的VCL控件适用于Windows 10,更新的IDE外觀(深色主題),随附的RAD伺服器部署許可證
DELPHI 10.3'RIO'(2018年11月)
适用于Win32的C ++ 17,新的Delphi語言功能,FireMonkey Android zOrder,本機控件和API級别26,Windows 10,VCL和HighDPI改進,廣泛的IDE UI現代化,RAD Server體系結構擴充,品質和性能改進
DELPHI 10.3.1'RIO'(2019年2月)
擴充了對iOS 12和iPhone X系列裝置的支援。RAD伺服器控制台UI重新設計并遷移到Ext JS架構(可通過GetIt獲得)。改進了對Firebird 3.0.4和嵌入式Firebird的FireDAC支援。Windows上的HTTP和SOAP用戶端庫增強。兩個新的IDE生産力工具:書簽和導航器。15種新的自定義VCL Windows和多裝置FireMonkey樣式。
DELPHI 10.3.2'RIO'(2019年7月)
Delphi macOS 64位,用于Windows 64位的C ++ 17,C ++ LSP代碼洞察性改進,RAD伺服器向導和部署改進,增強的Firebase Android支援,Delphi Linux用戶端應用程式支援
DELPHI 10.3.3'RIO'(2019年11月)
Delphi Android 64位支援,iOS 13和macOS Catalina(Delphi)支援,RAD Server Docker部署,Enterprise&Architect Edition中的企業連接配接器
DELPHI 10.4 悉尼(2020年5月)
顯着增強了對高性能本機Windows的支援,通過快速完成代碼,通過托管記錄加快了代碼執行速度,在現代多核CPU上增強了并行任務,提高了生産力,超過1000項品質和性能增強等等。
DELPHI 10.4.1 悉尼(2020年9月)
RAD Studio 10.4.1非常注重IDE,Delphi Code Insight(LSP),并行庫,SOAP&XML,C ++工具鍊,FireMonkey,VCL,Delphi編譯器和iOS部署的品質改進。
WPF .NET架構
WPF于2006年釋出,已經與.NET架構一起開發。它由Microsoft在2018年開源,并提供了一些路線圖,表明社群在不久的将來的參與和增長。.NET的重大更改以及Microsoft不斷變化的設計決策都會影響WPF的長期發展可行性。根據微軟的說法,WPF .NET Framework 4.8是.NET Framework的最後版本,已于2019年4月18日釋出。
WPF是2006年在.NET Framework 3.0中引入的。根據CodeProject網站上的一篇文章,此表中列出了WPF版本和增強功能:
WPF版本 | 釋放(YYYY-MM) | .NET版本 | Visual Studio版本 | 主要特點 |
---|---|---|---|---|
3.0 | 2006-11 | 3.0 | 不适用 | 初始發行。 WPF的開發也可以使用VS 2005(2005年11月釋出)完成,幾乎沒有增加。 |
3.5 | 2007-11 | 3.5 | VS 2008 | 更改和改進: 應用程式模型,資料綁定,控件,文檔,注釋和3-D UI元素。 |
3.5 SP1 | 2008-08 | 3.5 SP1 | 不适用 | 本機啟動螢幕支援,新的WebBrowser控件,DirectX像素着色器支援。 更快的啟動時間并提高了位圖效果的性能。 |
4.0 | 2010-04 | 4.0 | VS 2010 | 新控件:Calendar,DataGrid和DatePicker。 多點觸控和操縱 |
4.5 | 2012-08 | 4.5 | VS 2012 | 新功能區控件 新的INotifyDataErrorInfo接口 |
4.5.1 | 2013-10 | 4.5.1 | VS 2013 | 沒有重大變化 |
4.5.2 | 2014-05 | 4.5.2 | 不适用 | 沒有重大變化 |
4.6 | 2015-07 | 4.6 | VS 2015 | 透明子視窗支援 HDPI和Touch改進 |
以下摘錄自.NET Framework 4.6.1至4.8的Wikipedia .NET Framework版本曆史頁面。
.NET Framework 4.6.1 – .NET Framework 4.6.1的發行版于2015年11月30日宣布。此版本需要Windows 7 SP1或更高版本。新功能和API包括:
.NET Framework 4.6.2 – .NET Framework 4.6.2的預覽版于2016年3月30日釋出。它于2016年8月2日釋出。此版本需要Windows 7 SP1或更高版本。
.NET Framework 4.7 – 2017年4月5日,Microsoft宣布将.NET Framework 4.7內建到Windows 10 Creators Update中,承諾将為其他Windows版本提供獨立的安裝程式。此日期釋出了Visual Studio 2017的更新,以添加對定位.NET Framework 4.7的支援。承諾的Windows 7及更高版本的獨立安裝程式已于2017年5月2日釋出,但軟體包中未包含先決條件。
.NET Framework 4.7.1 – .NET Framework 4.7.1于2017年10月17日釋出。在修複和新功能中,它糾正了d3dcompiler依賴性問題。它也增加了與.NET Standard 2.0的相容性。
.NET Framework 4.7.2 – .NET Framework 4.7.2于2018年4月30日釋出。更改包括對ASP.NET,BCL,CLR,ClickOnce,網絡,SQL,WCF,Windows窗體,工作流和WPF的改進。此版本包含在Server 2019中。
.NET Framework 4.8 – .NET Framework 4.8已于2019年4月18日釋出。它是.NET Framework的最終版本,所有将來的工作都将進入.NET Core平台,最終将成為.NET 5及更高版本。此版本包括從.NET Core 2.1移植的JIT增強,針對WPF應用程式的High DPI增強,可通路性改進,性能更新以及安全性增強。它支援Windows 7,Server 2008 R2,Server 2012、8.1,Server 2012 R2、10,Server 2016和Server 2019,并且還作為Windows容器映像提供。最新版本是4.8.0 Build 3928,于2019年7月25日釋出,脫機安裝程式大小為111 MB,數字簽名日期為2019年7月25日。
-維基百科
Electron
Electron于2013年釋出,由GitHub積極開發和維護,并迅速為諸如Apple Silicon等新興技術提供支援(大約2020年11月)。它缺乏确定2020年建構的Electron應用程式是否可以生存到2030年所需的曆史和穩定的壽命。GitHub是Microsoft的子公司。Electron提供了Delphi和WPF的免費替代方案,熟悉了前端開發人員,并提供了跨平台功能,但以IP保護,标準IDE工具和應用程式性能為代價。
根據Electron釋出時間表(https://www.electronjs.org/docs/tutorial/electron-timelines),此處是釋出。
版 | -beta.1 | 穩定 | 鉻 | 節點 |
---|---|---|---|---|
2.0.0 | 2018-02-21 | 2018-05-01 | M61 | v8.9 |
3.0.0 | 2018-06-21 | 2018-09-18 | M66 | v10.2 |
4.0.0 | 2018-10-11 | 2018-12-20 | M69 | v10.11 |
5.0.0 | 2019-01-22 | 2019-04-24 | M73 | v12.0 |
6.0.0 | 2019-05-01 | 2019-07-30 | M76 | v12.4 |
7.0.0 | 2019-08-01 | 2019-10-22 | M78 | v12.8 |
8.0.0 | 2019-10-24 | 2020-02-04 | M80 | v12.13 |
9.0.0 | 2020-02-06 | 2020-05-19 | M83 | v12.14 |
10.0.0 | 2020-05-21 | 2020-08-25 | M85 | v12.16 |
11.0.0 | 2020-08-27 | 2020-11-17 | M87 | v12.18 |
12.0.0 | 2020-11-19 | 2021-03-02 | M89 | v14.x |
Delphi可以一次性購買商業開發許可證,進而提供最放心的長期前景,最佳的知識産權安全和最簡單的内部自定義。WPF的進入門檻較低,它提供了更好的可通路性選項,但受到Microsoft .NET的大修影響,更難以自定義,并且生成的軟體可以輕松地被反編譯。Electron是絕對免費的,可以在三個主要的桌面平台中的每個平台上進行開發,但是通過不确定的長期前景以及依靠公司贊助和社群支援來進行額外開發,可以為這種靈活性帶來回報。
準備探索泰山老父Windows桌面架構比較研究白皮書中的所有名額嗎?
輸入您的電子郵件位址,然後點選發送至收件箱的連結,免費下載下傳完整的Delphi vs. WPF vs. Electron for Windows Desktops白皮書。