Wie verhalten sich Delphi, WPF .NET Framework und Electron im Vergleich zueinander und wie lässt sich ein objektiver Vergleich am besten durchführen? Embarcadero gab ein Whitepaper in Auftrag , um die Unterschiede zwischen Delphi, WPF .NET Framework und Electron beim Erstellen von Windows-Desktopanwendungen zu untersuchen. Die Benchmark-Anwendung – ein Windows 10 Calculator-Klon – wurde in jedem Framework von drei freiwilligen Mitarbeitern von Delphi Most Valuable Professionals (MVPs), einem freiberuflichen WPF-Experten und einem freiberuflichen Electron-Entwickler neu erstellt. In diesem Blog-Beitrag werden wir die Langzeit-Machbarkeitsmetrik untersuchen, die Teil des im Whitepaper verwendeten Funktionsvergleichs ist.
Table of Contents
Langfristige Machbarkeit
Wenn Unternehmen Delphi als Entwicklungsframework auswählen, investieren sie in ein proprietäres Framework (das den Quellcode der Laufzeitbibliothek enthält) mit Vorabkosten und einer optionalen jährlichen Aktualisierungsgebühr. Für diese Kosten erhalten sie ein stabiles, abwärtskompatibles und wachsendes Framework und können sicher sein, dass heute entwickelte Anwendungen in Zukunft unterstützt und gewartet werden können.
Windows Presentation Foundation mit .NET Framework bietet Unternehmen ein wirtschaftliches Framework mit der vollständigen Unterstützung von Microsoft, enthält jedoch alle Herausforderungen, die sich aus den Entscheidungen von Microsoft ergeben. WPF hat eine kürzere Geschichte als Delphi, wurde jedoch 2018 als Open-Source-Version veröffentlicht, was einigen Versionen trotz der Bindung an das proprietäre .NET Framework für die meisten Windows-Entwicklungen einen guten langfristigen Ausblick geben könnte. .NET Framework 4.8 war laut Microsoft die letzte Version am 18. April 2019.
Electron ist eine kostenlose Open-Source-Plattform, die Unternehmen die Möglichkeit bietet, Anwendungen von jedem wichtigen Betriebssystem aus zu entwickeln. Die Zukunft von Electron ist jedoch ungewiss. Das Electron-Projekt wird von GitHub betrieben, einer Tochtergesellschaft von Microsoft. Es ist das neueste der drei Frameworks und befindet sich noch in der Flitterwochenphase. Es fehlt eine native IDE, die Unternehmen die Wahl lässt, aber auch einige Annehmlichkeiten wie integrierte Kompilierung und Testbibliotheken entfernt. Unternehmen, die interne Tools entwickeln, hätten es mit Electron schwerer als die anderen Frameworks.
Werfen wir einen Blick auf jedes Framework.
Delphi
Delphi wächst, reift und expandiert seit 1995. Die Entwicklung behält die Abwärtskompatibilität in dem Maße bei, dass eine Anwendung von 1995 mit minimalen Änderungen auf die aktuelle Delphi-Version portiert werden kann. Umfassende Dokumentation unterstützt die Wartung, und ein vollständiges Support-Team steht für Upgrade-, Migrations- oder Fehlerbehebungshilfe zur Verfügung. Zum Zeitpunkt dieses Schreibens ist die neueste Version von Delphi in RAD Studio 10.4.1 Sydney verfügbar, das am 2. September 2020 veröffentlicht wurde. Möchten Sie mehr erfahren? Lesen Sie die Versionshinweise vieler Delphi-Versionen .
Für einige Zusammenhänge auf der Programmiersprachen-Zeitachse erschien C ++ 1983, Python 1991, Java 1995, PHP 1995, JavaScript 1995 und Delphi 1995. 1995 war ein Geburtsjahr für viele dieser Programmiersprachen, wie Sie sehen können. Die Delphi Anniversary-Website enthält eine Delphi Release Timeline von 1995 bis heute. Hier ist ein Auszug aus der Zeitleiste der Veröffentlichungen der letzten 25 Jahre.
DELPHI 1 – 14. FEBRUAR 1995
16-Bit-Windows 3.1-Unterstützung, Visual Two-Way-Tools, Komponenten / VCL, Datenbankunterstützung über BDE und SQL Links, Datenbankdaten werden zur Entwurfszeit live übertragen
DELPHI 2 (1996)
32-Bit-Unterstützung für Windows 95, Datenbankraster, OLE-Automatisierung, Vererbung visueller Formulare, lange Zeichenfolgen, Enthaltenes Delphi 1 für 16-Bit
DELPHI 3 (1997)
Schnittstellen (COM-basiert), Code Insight, Komponentenvorlagen, DLL-Debugging, WebBroker, ActiveForms, Komponentenpakete, mehrschichtige MIDAS-Architektur
DELPHI 4 (1998)
Docking, Anker und Einschränkungen, Methodenüberladung, dynamische Arrays, Windows 98-Unterstützung
DELPHI 5 (1999)
Desktop-Layouts, Frames, XML-Unterstützung, DBGo für ADO, Sprachübersetzungen
DELPHI 6 (2001)
Strukturfenster, SOAP-Webdienste, dbExpress, BizSnap, WebSnap, DataSnap
DELPHI 7 (2002)
Entwicklung von Webanwendungen, Windows XP-Themen
DELPHI 8 (2003)
.NET-Unterstützung
DELPHI 2005 (2004)
Namespaces mit mehreren Einheiten, Error Insight, Registerkarte „Verlauf“, for..in, Funktionsinlining, themenfähige IDE, Refactorings, Platzhalteranweisung, Daten-Explorer, Integrierter Komponententest
DELPHI 2006 (2005)
Überladen von Operatoren, statische Methoden und Eigenschaften, Designer-Richtlinien, Formularpositioniereransicht, Live-Code-Vorlagen, Blockvervollständigung, Zeilennummern, Änderungsleisten, Synchronisierungsbearbeitung, Code-Faltung und Methodennavigation, Debugging-Tooltipps, durchsuchbare Tool-Palette, FastMM-Speichermanager , Unterstützung für MySQL, Unicode-Unterstützung in dbExpress, TTrayIcon, TFlowPanel, TGridPanel
DELPHI 2007 (2006)
MS Build, Build-Ereignisse, Build-Konfigurationen, Windows Vista-Unterstützung – Glassing, Theming, dbExpress 4 – Verbindungspooling, Delegiertreiber, CPU-Viewer-Fenster, FastCode-Verbesserungen, IntraWeb / AJAX-Unterstützung, Begrüßungsseite, Sim-Schiff von Englisch, Französisch, Deutsch , Japanisch
DELPHI 2009 (2008)
Unicode, Generika, anonyme Methoden, Multifunktionsleistensteuerelemente, DataSnap, Build-Konfigurationen, Klassen-Explorer, Editorfenster für Typbibliotheken, PNG-Unterstützung
DELPHI 2010 (2009)
Attribute, Erweiterte RTTI, Direct2D-Zeichenfläche, Windows 7-Unterstützung, Touch / Gesten, Quellcode-Formatierer, Thread-spezifische Haltepunkte, Debugger-Visualisierer, IOUtils-Einheit für Dateien, Pfade und Verzeichnisse, Quellcode-Audits und -Metriken, Hintergrundkompilierung, Quellcode für MIDAS. DLL
DELPHI XE (2010)
Bibliothek für reguläre Ausdrücke, Subversion-Integration, dbExpress-Filter, Authentifizierung, ProxyGeneration, JavaScript Framework, REST-Unterstützung, Indy WebBroker, Cloud – Amazon EC2, Microsoft Azure, Build-Gruppen, benannte Threads im Debugger, Befehlszeilenprüfungen, Metriken und Dokumentationsgenerierung
DELPHI XE2 (2011)
64-Bit-Windows, Mac OSX, FireMonkey, Live-Bindungen – FireMonkey und VCL, VCL-Stile, Einheitenbereichsnamen, Plattformassistent, DataSnap – Konnektoren für mobile Geräte, Cloud-API, HTTPS-Unterstützung, TCP-Überwachung, dbExpress-Unterstützung für ODBC-Treiber, Bereitstellung Manager
DELPHI XE3 (2012)
Metropolis UI für Windows 8, 7, Vista und XP, FM-Aktionen, Berührungen / Gesten, Layouts und Anker, FM-Unterstützung für Bitmap-Stile, TMaterial-Quelle für FM-3D-Komponenten, FM-Audio / Video, VCL / FM-Unterstützung für Sensorgeräte, FM Positionssensorkomponente, Unterstützung für virtuelle Tastaturen, DirectX 10-Unterstützung
DELPHI XE4 (APRIL 2013)
iOS-Unterstützung – Gerät, Simulator, iOS App Store, iOS-Unterstützung für Standard- und Retina-Displays, iOS-Stile, Retina-Stile, virtuelle Tastaturen, Mobile Form Designer, TWebBrowser-Komponente, iOS ARC (automatische Referenzzählung) für alle TObject-Klassen, Platform Services, Benachrichtigungs-, Standort-, Bewegungs- und Orientierungssensorkomponenten, TListView-Komponente, Mac OSX-Vollbildunterstützung, Bereitstellungsmanager für iOS-Geräte, universelle FireDAC-Datenzugriffskomponenten, InterBase – IBLite und IBToGo
DELPHI XE5 (SEPTEMBER 2013)
Android-Unterstützung – Geräte und Emulator. Betriebssystemversionen: Jelly Bean, Ice Cream Sandwich und Gingerbread, Benachrichtigungskomponente, Unterstützung im iOS 7-Stil, Konfigurierbarer Formular-Designer für mobile Geräte, Bereitstellungsmanager für Android-Geräte, REST Services-Clientzugriffs- und Authentifizierungskomponenten, Android-Unterstützung für alle XE4 FM und Datenbankfunktionen, die oben aufgeführt sind
DELPHI XE6 (APRIL 2014)
Windows 7- und 8.1-Stile, Zugriff auf Cloud-basierte RESTful-WEB-Dienste, FireDAC-kompatibel mit mehr Datenbanken, vollständig integrierte InterBase-Unterstützung
DELPHI XE7 (SEPTEMBER 2014)
FireMonkey-Anwendungen für mehrere Geräte unterstützen sowohl Desktop- als auch mobile Plattformen, eingebettete IBLite-Datenbank für Windows, Mac, Android und iOS, Multi-Display-Unterstützung, Multi-Touch-Unterstützung und Gestenänderungen, Immersive-Modus im Vollbildmodus für Android, FireMonkey unterstützt den Pull- Funktion zum Aktualisieren für TListView unter iOS und Android, FireMonkey-Funktion zum Speichern des Status
DELPHI XE8 (APRIL 2015)
GetIt Package Manager, FireDAC-Verbesserungen, neue Embarcadero-Community-Symbolleiste, native Präsentation von TListView, TSwitch, TMemo, TCalendar, TMultiView und TEdit unter iOS, interaktive Karten, neue Optionen für die Medienbibliothek, InputQuery unterstützt jetzt das Maskieren von Eingabefeldern
DELPHI 10 ‚SEATTLE‘ (AUGUST 2015)
Android Background Services-Unterstützung, FireDAC-Unterstützung für die NoSQL MongoDB-Datenbank, FireMonkey steuert die zOrder-Unterstützung für Windows, neue TBeaconDevice-Klasse zum Verwandeln eines Geräts auf einer der unterstützten Plattformen in ein „Beacon“, StyleViewer für Windows 10 Style in Bitmap Style Designer, High -DPI Awareness und 4K-Monitore unterstützen, Windows 10-Stile, Unterstützung für Android-Dienste in der IDE, Unterstützung für das Aufrufen von WinRT-APIs
DELPHI 10.1 ‚BERLIN‘ (APRIL 2016)
Android 6.0-Unterstützung, Windows Desktop Bridge-Unterstützung, Adressbuch für iOS und Android, neuer ListView Item Designer, neues CalendarView-Steuerelement, QuickEdits für VCL, Unterstützung für hohe DPI-Werte unter Windows, Hinweis auf Änderungen der Eigenschaften, EMS Apache Server-Unterstützung, GetIt-basiertes Webinstallationsprogramm
DELPHI 10.2 ‚TOKYO‘ (MÄRZ 2017)
64-Bit-Linux-Unterstützung für Delphi, FireDAC bietet Linux-Unterstützung für alle Linux-fähigen DBMS-, MariaDB-Unterstützung (v5.5), MySQL-Unterstützung für v5.7 und Firebird-Unterstützung für Direct I / O, QuickEdits für FMX und neue VCL-Steuerelemente für Windows 10, aktualisiertes IDE-Look & Feel (dunkles Thema), RAD Server-Bereitstellungslizenz enthalten
DELPHI 10.3 ‚RIO‘ (NOVEMBER 2018)
C ++ 17 für Win32, neue Delphi-Sprachfunktionen, FireMonkey Android zOrder, native Steuerelemente und API-Level 26, Verbesserungen für Windows 10, VCL und HighDPI, umfassende Modernisierung der IDE-Benutzeroberfläche, Erweiterung der RAD Server-Architektur, Qualitäts- und Leistungsverbesserungen
DELPHI 10.3.1 ‚RIO‘ (FEBRUAR 2019)
Erweiterte Unterstützung für Geräte der iOS 12- und iPhone X-Serie. Neugestaltung der RAD Server Console-Benutzeroberfläche und Migration zum Ext JS-Framework (verfügbar über GetIt). Verbesserte FireDAC-Unterstützung für Firebird 3.0.4 und Firebird Embedded. Verbesserungen der HTTP- und SOAP-Clientbibliothek unter Windows. Zwei neue IDE-Produktivitätswerkzeuge: Lesezeichen und Navigator. 15 neue benutzerdefinierte VCL Windows- und Multi-Device FireMonkey-Stile.
DELPHI 10.3.2 ‚RIO‘ (JULI 2019)
Delphi macOS 64-Bit, C ++ 17 für Windows 64-Bit, C ++ LSP Code Insight-Verbesserungen, RAD Server-Assistenten und Bereitstellungsverbesserungen, erweiterte Firebase-Android-Unterstützung, Delphi Linux Client-Anwendungsunterstützung
DELPHI 10.3.3 ‚RIO‘ (NOVEMBER 2019)
Delphi Android 64-Bit-Unterstützung, iOS 13 und macOS Catalina (Delphi) Unterstützung, RAD Server Docker-Bereitstellung, Enterprise Connectors in Enterprise & Architect Edition
DELPHI 10.4 ‚SYDNEY‘ (MAI 2020)
Deutlich verbesserte native Windows-Hochleistungsunterstützung, höhere Produktivität durch blitzschnelle Code-Vervollständigung, schnelleren Code mit verwalteten Datensätzen und verbesserte parallele Aufgaben auf modernen Multi-Core-CPUs, über 1000 Qualitäts- und Leistungsverbesserungen und vieles mehr.
DELPHI 10.4.1 ‚SYDNEY‘ (SEPTEMBER 2020)
RAD Studio 10.4.1 konzentriert sich stark auf Qualitätsverbesserungen bei IDE, Delphi Code Insight (LSP), paralleler Bibliothek, SOAP und XML, C ++ – Toolchain, FireMonkey, VCL, Delphi Compiler und iOS-Bereitstellung.
WPF .NET Framework
WPF wurde 2006 veröffentlicht und zusammen mit dem .NET Framework entwickelt. Es wurde 2018 von Microsoft als Open-Source-Lösung bereitgestellt und enthält mehrere Roadmaps, die auf das Engagement und das Wachstum der Community in naher Zukunft hinweisen. Wesentliche .NET-Änderungen und die sich ändernden Designentscheidungen von Microsoft wirken sich auf die langfristige Machbarkeit von WPF aus. WPF .NET Framework 4.8 war laut Microsoft die endgültige Version von .NET Framework und wurde am 18. April 2019 veröffentlicht.
WPF wurde 2006 in .NET Framework 3.0 eingeführt. Gemäß einem Artikel auf der CodeProject-Website sind die WPF-Versionen und -Erweiterungen in dieser Tabelle aufgeführt:
WPF Version | Release (YYYY-MM) | .NET Version | Visual Studio Version | Major Features |
---|---|---|---|---|
3.0 | 2006-11 | 3.0 | N/A | Initial Release. WPF development can be done with VS 2005 (released in Nov 2005) too with few additions. |
3.5 | 2007-11 | 3.5 | VS 2008 | Changes and improvements in: Application model, data binding, controls, documents, annotations, and 3-D UI elements. |
3.5 SP1 | 2008-08 | 3.5 SP1 | N/A | Native splash screen support, New WebBrowser control, DirectX pixel shader support. Faster startup time and improved performance for Bitmap effects. |
4.0 | 2010-04 | 4.0 | VS 2010 | New controls: Calendar, DataGrid, and DatePicker. Multi-Touch and Manipulation |
4.5 | 2012-08 | 4.5 | VS 2012 | New Ribbon control New INotifyDataErrorInfo interface |
4.5.1 | 2013-10 | 4.5.1 | VS 2013 | No Major Change |
4.5.2 | 2014-05 | 4.5.2 | N/A | No Major Change |
4.6 | 2015-07 | 4.6 | VS 2015 | Transparent child window support HDPI and Touch improvements |
Das Folgende ist ein Auszug aus der Wikipedia .NET Framework-Versionsverlaufsseite für .NET Framework 4.6.1 bis 4.8.
Elektron
Electron wurde 2013 veröffentlicht, wird von GitHub aktiv entwickelt und gewartet und hat neue Technologien wie Apple Silicon (ca. November 2020) schnell unterstützt. Es fehlt die Historie und die stabile Langlebigkeit, die erforderlich sind, um zu bestimmen, ob die im Jahr 2020 gebauten Electron-Apps bis 2030 überleben werden. GitHub ist eine Tochtergesellschaft von Microsoft. Electron bietet eine kostenlose Alternative zu Delphi und WPF, Vertrautheit mit Front-End-Entwicklern und plattformübergreifende Funktionen auf Kosten des IP-Schutzes, der Standard-IDE-Tools und der Anwendungsleistung.
Laut der Electron Release-Timeline (https://www.electronjs.org/docs/tutorial/electron-timelines) sind hier die Releases.
Version | -beta.1 | Stable | Chrome | Node |
---|---|---|---|---|
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 bietet die sichersten langfristigen Aussichten, die beste Sicherheit für geistiges Eigentum und die einfachste interne Anpassung auf Kosten eines einmaligen kommerziellen Lizenzkaufs. Die Eintrittsbarriere von WPF ist geringer und bietet bessere Eingabehilfen, unterliegt jedoch den .NET-Überarbeitungen von Microsoft, ist schwieriger anzupassen und kann problemlos dekompiliert werden. Electron ist absolut kostenlos und kann auf jeder der drei großen Desktop-Plattformen entwickelt werden. Diese Flexibilität wird jedoch durch seine ungewissen langfristigen Aussichten und durch die Unterstützung von Unternehmenssponsoring und Community-Unterstützung für die weitere Entwicklung bezahlt.
Entdecken Sie alle Metriken im Whitepaper „Ermitteln des besten Entwickler-Frameworks durch Benchmarking“:
Laden Sie das Whitepaper „Delphi vs. WPF vs. Electron für Windows Desktops“ herunter
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition