Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiRAD StudioResearch

Durch den leistungsstarken integrierten Datenbankzugriff ist Delphi WPF und Electron voraus

wp1_featured_db_access-2

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 Datenbankzugriffsmetrik untersuchen, die Teil des im Whitepaper verwendeten Flexibilitätsvergleichs ist. Der Taschenrechner selbst verwendet keine Datenbank, daher beziehen sich die Bewertungen hier im Allgemeinen auf die Frameworks selbst.

Datenbankzugriff

Enthält das Framework native Bibliotheken, die den Datenbankzugriff unterstützen? Die Datenpersistenz ist für viele Anwendungen von entscheidender Bedeutung und muss benutzerfreundlich und in jedes gute Entwicklungsframework integriert sein.

Der Hauptvorteil von Delphi gegenüber WPF und Electron besteht darin, dass das FMX-Framework einen Quellcode als Binärdatei für alle wichtigen Desktop- oder Mobilplattformen bereitstellen kann, wodurch die Reichweite eines Unternehmens für Kunden maximiert und die Duplizierung von Code sowie die Probleme bei Wartung und Upgrade minimiert werden. Es kann Projekte jeder Größe unterstützen, von Logik-Controllern für die industrielle Automatisierung bis hin zur weltweiten Bestandsverwaltung, und für jede Ebene vom datenbankintensiven Back-End bis zur GUI-Client-Seite einer Anwendung entwickelt werden. Schließlich bieten die Standardbibliotheken von Delphi einfachen Zugriff auf nahezu alle verfügbaren Datenbanktypen und ermöglichen Entwicklern den Zugriff auf Betriebssystemfunktionen auf jeder Plattform sowie die Interaktion mit E / A-Geräten und Hardwaresensoren. 

WPF mit .NET Framework zielt direkt auf Windows-Computer ab. Das Framework ist in erster Linie auf clientseitige Desktopanwendungen ausgerichtet, kann jedoch Geschäftslogik in C # für Middle-Tier- oder Back-End-Funktionen integrieren und auf das ADO .NET Entity Framework für Datenbanken zugreifen. WPF kann über .NET-Bibliotheken auf Windows-Betriebssystemfunktionen und E / A-Geräte zugreifen, jedoch mit verwaltetem Code nach der Kompilierung anstelle von nativem Code.

Electron ist ein Open-Source-Framework, das über seine Chromium-Browser-Basis auf die drei wichtigsten Desktop-Betriebssysteme abzielt. Es konzentriert sich auf clientseitige Anwendungen, die normalerweise webzentriert sind, verwendet jedoch node.js für Middle-Tier- und Back-End-Dienste. Electron bietet Hardwarezugriff über den Prozess node.js und kann über die Bibliotheken node.js auf einige, aber nicht alle Betriebssystemfunktionen zugreifen.

wp1_database_access

Werfen wir einen Blick auf jedes Framework.

Delphi

Delphi wird mit mehreren Datenbankbibliotheken geliefert, die mit nahezu jedem Datenbanktyp auf dem Markt verbunden sind. Datenbankzugriff, Abfragen und Datenanzeige werden reibungslos über Komponenten integriert, auf die in der kostenlosen Community Edition und auf der ersten kommerziellen Lizenzstufe zugegriffen werden kann. Während Delphi und WPF im Whitepaper ähnlich abschnitten, wird Delphi mit einer stärker integrierten Toolchain und besser unterstützten Datenbanken ausgeliefert.

FireDAC ist eine universelle Datenzugriffsbibliothek zum Entwickeln von Anwendungen für mehrere Geräte, die mit Unternehmensdatenbanken verbunden sind. Mit seiner leistungsstarken universellen Architektur ermöglicht FireDAC den nativen direkten Hochgeschwindigkeitszugriff von Delphi und C ++ Builder auf InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix und DataSnap und mehr, einschließlich der NoSQL-Datenbank MongoDB.

FireDAC ist eine leistungsstarke und dennoch benutzerfreundliche Zugriffsebene, die den Datenzugriff unterstützt, abstrahiert und vereinfacht und alle Funktionen bietet, die zum Erstellen realer Hochlastanwendungen erforderlich sind. FireDAC bietet eine gemeinsame API für den Zugriff auf verschiedene Datenbank-Backends, ohne den Zugriff auf eindeutige datenbankspezifische Funktionen aufzugeben und ohne die Leistung zu beeinträchtigen. Verwenden Sie FireDAC in Android-, iOS-, Windows- und Mac OS X-Anwendungen, die Sie für PCs, Tablets und Smartphones entwickeln.

 

 Unten finden Sie eine Liste aller von RAD Studio unterstützten FireDAC-Datenbanken. Die Liste enthält die minimale und maximale Version, die in jeder Version von RAD Studio unterstützt wird.

Database FireDAC driver ID Seattle (10.0) Berlin (10.1) Tokyo (10.2) Rio (10.3) Sydney (10.4)
SAP Advantage Database ADS v 8.0 – 10.1 v 8.0- 12.0 v 8.0 – 12.0 v 8.0 – 12.0 v 8.0 – 12.0
SAP SQL Anywhere ASA v 5.0 – 12.0 v 5.0 – 16.0 v 5.0 – 16.0 v 5.0 – 16.0 v 5.0 – 16.0
IBM DB2 Server DB2 v 8.2 – 9.7 v 8.2 – 9.7 v 8.2 – 9.7 v 8.2 – 9.7 v 8.2 – 9.7
Firebird FB v 1.5 – 2.5 v 1.5 – 2.5 v 1.5 – 2.5 v 1.5 – 3.0 v 1.5 – 3.0
InterBase IB v 6.0 – XE7 v 6.0 – XE7 v 6.0 – 2017 v 6.0 – 2017 v 6.0 – 2020
IBM Informix Infx v 8.0 – 11.7 v 8.0 – 11.7 v 8.0 – 12.1 v 8.0 – 12.1 v 8.0 – 12.1
MongoDB Mongo v 3.0 v 3.0 v 3.0 v 3.0 v 3.0
Microsoft Access MSAcc 95 – 2010 95 – 2010 95 – 2015 95 – 2015 95 – 2015
Microsoft SQL Server MSSQL 2000 – 2008 2000 – 2008 2000 – 2016 2000 – 2017 2000 – 2017
MySQL Server MySQL v 3.21 – 5.5 v 3.21 – 5.6 v 3.21 – 5.7 v 3.21 – 6.x v 3.21 – 8.0
MariaDB MySQL n/a n/a v 5.5 – 10.1 v 5.5 – 10.3 v 5.5 – 10.3
Oracle Server Ora v 8.0 – 11.2 v 8.0 – 12.1 v 8.0 – 12.1 v 8.0 – 12.1 v 8.0 – 12.1
PostgreSQL PG v 7.4 – 9.1 v 7.4 – 9.5 v 7.4 – 9.5 v 7.4 – 10.0 v 7.4 – 12.0
PostgreSQL Enterprise Server PG v 9.2 v 9.2 v 9.2 v 9.2 v 9.2
SQLite SQLite v 3.0 – 3.8.7 v 3.0 – 3.9.2 v 3.0 – 3.9.2 v 3.0 – 3.23.1 v 3.0 – 3.31.1
Teradata TData v 13.0 – 15.0 v 13.0 – 15.0 v 13.0 – 15.0 v 13.0 – 15.0 v 13.0 – 15.0
Generic ODBC sources ODBC v 2.0 – 3.0 v 2.0 – 3.8 v 2.0 – 3.8 v 2.0 – 3.8 v 2.0 – 3.8

Zusätzliche Datenbankverbindungen, die mit dem FireDAC ODBC Bridge-Treiber getestet wurden:

Database Version
SAP Adaptive Server Enterprise v 15.0
IBM DB2 AS/400 n/a
QuickBooks v 16.0
InterSystems Cache 2014
Pervasive SQL v 10.0
DBase n/a
Excel n/a
MicroFocus Cobol n/a
Ingres Database n/a
SAP MaxDB n/a
Clarion n/a
SolidDB n/a
Unify SQLBase n/a

Zusätzlich zu FireDAC verfügen Delphi und RAD Studio über ein umfangreiches Ökosystem von Drittanbietern, das viele verschiedene kommerzielle und Open-Source-Datenbankzugriffslösungen bietet. Sie können sogar über Lösungen von Drittanbietern wie CrossTalk von ATOZED Software auf .NET-Bibliotheken von Delphi und C ++ zugreifen .

WPF .NET Framework


WPF wird mit Zugriff auf Datenbankbibliotheken geliefert, einschließlich ADO .NET Entity Framework, die Datenbankverbindungen, Abfragen und Einträge über C # -Code ermöglichen. Laut Microsoft .NET Framework werden nur folgende Datenanbieter ( Quelle ) ausgeliefert:

  • .NET Framework-Datenprovider für SQL Server
  • .NET Framework-Datenprovider für OLE DB
  • .NET Framework-Datenprovider für ODBC
  • .NET Framework Data Provider für Oracle
  • .NET Framework-Datenprovider für SQL Server Compact 4.0

WPF .NET Framework erhielt im Whitepaper für den Datenbankzugriff aufgrund der ODBC-Unterstützung eine hohe Punktzahl. Andere Datenanbieter sind von Dritten erhältlich. Es ist jedoch Zeit erforderlich, um jede benötigte Datenbankbibliothek aufzuspüren, zu installieren und auf dem neuesten Stand zu halten.

Elektron

Electron enthält bei der Erstinstallation keine native Datenbankzugriffsbibliothek. Daher handelt es sich nicht um eine einzelne Paketinstallation, die alle für den Zugriff auf Datenbanken erforderlichen Funktionen enthält. Es kann über NodeJS auf Datenbanken zugreifen, und es stehen mehrere Open Source-Bibliotheken zur Verfügung, um Server- und serverlose Datenbanken, einschließlich JavaScript-Implementierungen, zu nutzen. Es ist jedoch Zeit erforderlich, um jede benötigte Datenbankbibliothek aufzuspüren, zu installieren und auf dem neuesten Stand zu halten.

Hier ist ein Beispiel für den Aufwand, der erforderlich ist, um eine Verbindung zu einer Oracle-Datenbank von NodeJS zur Verwendung in Electron herzustellen:

https://docs.oracle.com/de/cloud/paas/exadata-express-cloud/csdbp/connect-node-js.html

Datenbankkonnektivitätspakete sind auch über einen Paketmanager verfügbar, wie hier dargestellt:

https://www.npmjs.com/package/mssql

Alle drei Frameworks haben zumindest eine Möglichkeit, auf die meisten Datenbanken zuzugreifen. Delphi und RAD Studio werden jedoch mit den am meisten unterstützten Datenbanken aller drei Frameworks ausgeliefert. Da diese Datenbankzugriffskomponenten mit Delphi geliefert werden, ist keine zusätzliche Zeit erforderlich, um Bibliotheken von Drittanbietern aufzuspüren und zu warten. Delphi verfügt über ein umfangreiches Ökosystem an Datenbankzugriffskomponenten von Drittanbietern, deren Verwendung optional ist. WPF .NET Framework ist ein Legacy-FrameworkLaut Microsoft und nur mit rund 5 Datenanbietern ausgeliefert (obwohl Sie fairerweise über ODBC auf viele Datenbanken zugreifen können). Electron wird nicht mit Datenbankzugriffskomponenten geliefert, diese sind jedoch über das NodeJS-Ökosystem leicht verfügbar und erfordern zusätzlichen Aufwand bei der Suche und Wartung, wodurch die Lösung spröde wird. Insgesamt bietet Delphi eine flexiblere und integrierte Toolchain mit mehr Datenbanken, die sofort unterstützt werden als die beiden anderen Frameworks.

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

Zusätzliche Lektüre…

Delphi bietet langfristige Machbarkeit für sich ständig ändernde Elektronen und End-of-Life-WPF .NET Framework

Blitzschnelle App Store-Bereitstellung in Delphi Trounces WPF und Electron

Das visuelle Entwerfen von Apps in Delphi bietet bis zu 5-fache Produktivitätsgewinne gegenüber WPF und Electron

Delphi bietet einen massiven Produktivitätsschub gegenüber WPF und Electron


What's New for RAD Studio 11

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Über den Autor

Chief Developer Advocate für Embarcadero Technologies.
Zusammenhängende Posts
BeiträgeDelphiDeveloper InterviewsInterview

Wie ist es, ein Entwickler David Cornelius zu sein?

BeiträgeC++DelphiDeveloper InterviewsInterview

Wie ist es, Entwickler Stephane Jordi zu sein?

Beiträge

ZXing.Delphi (Zebra Crossing) getestet mit RAD 11 für Android und iOS

C++DelphiRAD Studio

Neues Whitepaper: Moderne Windows Applicationen

Kommentieren

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

IN THE ARTICLES