Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Le puissant accès intégré à la base de données place Delphi avant WPF et Electron

wp1 featured db access 2

Comment Delphi, WPF .NET Framework et Electron se comparent-ils et quel est le meilleur moyen de faire une comparaison objective? Embarcadero a commandé un livre blanc pour étudier les différences entre Delphi, WPF .NET Framework et Electron pour la création d’applications de bureau Windows. L’application de référence – un clone de la calculatrice Windows 10 – a été recréée dans chaque cadre par trois bénévoles Delphi Most Valuable Professionals (MVP), un développeur WPF indépendant et un développeur indépendant d’Electron. Dans cet article de blog, nous allons explorer la métrique d’accès à la base de données qui fait partie de la comparaison de flexibilité utilisée dans le livre blanc. La calculatrice elle-même n’utilise pas de base de données, de sorte que les évaluations ici concernent généralement les cadres eux-mêmes.

Accès à la base de données

Le framework contient-il des bibliothèques natives prenant en charge l’accès aux bases de données? La persistance des données est essentielle pour de nombreuses applications et doit être conviviale et intégrée à tout bon cadre de développement.

Le principal avantage de Delphi par rapport à WPF et Electron est que son framework FMX peut déployer un corps de code source en tant que binaire sur n’importe quelle plate-forme de bureau ou mobile majeure, maximisant la portée d’une entreprise auprès des clients et minimisant la duplication de code et les problèmes de maintenance / mise à niveau. Il peut prendre en charge des projets de toutes tailles, des contrôleurs logiques pour l’automatisation industrielle à la gestion mondiale des stocks, et être développé pour chaque niveau, du back-end lourd en base de données au côté client GUI d’une application. Enfin, les bibliothèques standard de Delphi offrent un accès facile à presque tous les types de bases de données disponibles et permettent aux développeurs d’accéder aux fonctionnalités du système d’exploitation sur chaque plate-forme et d’interagir avec les périphériques d’E / S et les capteurs matériels. 

WPF avec .NET Framework cible directement les ordinateurs Windows. Le framework est principalement orienté vers les applications de bureau côté client, mais peut incorporer une logique métier en C # pour les fonctions de niveau intermédiaire ou back-end et accéder à ADO .NET Entity Framework pour les bases de données. WPF peut accéder aux fonctionnalités du système d’exploitation Windows et aux périphériques d’E / S via des bibliothèques .NET, mais avec du code managé après compilation plutôt que du code natif.

Electron est un framework open-source ciblant les trois principaux systèmes d’exploitation de bureau via sa base de navigateurs Chromium. Il se concentre sur les applications côté client, généralement centrées sur le Web, mais utilise node.js pour les services de niveau intermédiaire et d’arrière-plan. Electron fournit un accès matériel à partir de son processus node.js et peut accéder à certaines fonctions du système d’exploitation, mais pas à toutes, via les bibliothèques node.js.

Jetons un coup d’œil à chaque cadre.

Delphes

Delphi est livré avec plusieurs bibliothèques de bases de données qui se connectent à presque tous les types de bases de données du marché. L’accès à la base de données, les requêtes et l’affichage des données sont intégrés en douceur grâce à des composants accessibles dans l’édition gratuite de la communauté et au premier niveau de licence commerciale. Bien que Delphi et WPF aient obtenu des scores similaires dans le livre blanc, Delphi est livré avec une chaîne d’outils plus intégrée et des bases de données plus prises en charge.

FireDAC est une bibliothèque Universal Data Access permettant de développer des applications pour plusieurs appareils, connectés à des bases de données d’entreprise. Avec sa puissante architecture universelle, FireDAC permet un accès direct haut débit natif de Delphi et C ++ Builder à InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap et plus, y compris la base de données NoSQL MongoDB.

FireDAC est une couche d’accès puissante mais facile à utiliser qui prend en charge, résume et simplifie l’accès aux données, fournissant toutes les fonctionnalités nécessaires pour créer des applications à forte charge dans le monde réel. FireDAC fournit une API commune pour accéder à différents back-ends de bases de données, sans renoncer à l’accès à des fonctionnalités spécifiques aux bases de données et sans compromettre les performances. Utilisez FireDAC dans les applications Android, iOS, Windows et Mac OS X que vous développez pour PC, tablettes et smartphones.

 

Vous trouverez ci-dessous la liste de toutes les bases de données FireDAC prises en charge par RAD Studio. La liste comprend la version minimale et maximale prise en charge sur chaque version de RAD Studio.

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


Connexions de base de données supplémentaires, testées à l’aide du pilote FireDAC ODBC Bridge:

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

En plus de FireDAC, Delphi et RAD Studio disposent d’un riche écosystème tiers qui fournit de nombreuses solutions d’accès aux bases de données commerciales et open source. Vous pouvez même accéder aux bibliothèques .NET à partir de Delphi et C ++ via des solutions tierces telles que CrossTalk d’ATOZED Software .

Cadre WPF .NET


WPF est livré avec l’accès aux bibliothèques de bases de données, y compris ADO .NET Entity Framework, qui permettent les connexions, les requêtes et les entrées de base de données via le code C #. Selon Microsoft .NET Framework, il est uniquement fourni avec les fournisseurs de données suivants ( source ):

WPF .NET Framework a reçu un score élevé dans le livre blanc pour l’accès à la base de données en raison de la prise en charge ODBC. D’autres fournisseurs de données sont disponibles auprès de tiers. Cependant, il faut du temps pour retrouver chaque bibliothèque de base de données nécessaire, l’installer et la maintenir à jour.

Électron

Electron n’inclut pas de bibliothèque d’accès à la base de données native lors de sa première installation. Il ne s’agit donc pas d’une installation de package unique contenant toutes les fonctionnalités nécessaires pour accéder aux bases de données. Il peut accéder aux bases de données via NodeJS et plusieurs bibliothèques open source sont disponibles pour exploiter les bases de données serveur et sans serveur, y compris les implémentations JavaScript. Cependant, il faut du temps pour retrouver chaque bibliothèque de base de données nécessaire, l’installer et la maintenir à jour.

Voici un exemple de l’effort requis pour se connecter à une base de données Oracle à partir de NodeJS pour une utilisation dans Electron:

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

Les packages de connectivité de base de données sont également disponibles via un gestionnaire de packages, comme indiqué ici:

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

Les trois frameworks ont au moins un moyen d’accéder à la plupart des bases de données. Cependant, Delphi et RAD Studio sont livrés avec les bases de données les plus prises en charge des trois frameworks. De plus, étant donné que ces composants d’accès aux bases de données sont fournis avec Delphi, il n’y a pas de temps supplémentaire nécessaire pour rechercher et gérer les bibliothèques tierces. Delphi possède un riche écosystème de composants d’accès aux bases de données tiers dont l’utilisation est facultative. WPF .NET Framework est un framework héritéselon Microsoft et n’est livré qu’avec environ 5 fournisseurs de données (bien que pour être honnête, vous pouvez accéder à de nombreuses bases de données via ODBC). Electron n’est livré avec aucun composant d’accès à la base de données, mais ils sont facilement disponibles via l’écosystème NodeJS et nécessitent un effort supplémentaire pour trouver et maintenir, ce qui rend la solution fragile. Dans l’ensemble, Delphi fournit une chaîne d’outils plus flexible et intégrée avec plus de bases de données prises en charge dès le départ que les deux autres frameworks.

Explorez toutes les métriques dans le livre blanc «Découvrir le meilleur framework de développement grâce à l’analyse comparative»:

Téléchargez le livre blanc gratuit Delphi vs WPF vs Electron pour les ordinateurs de bureau Windows

Lecture supplémentaire…

Delphi offre une faisabilité à long terme sur le framework WPF .NET en constante évolution des électrons et de la fin de vie

Le déploiement ultra-rapide de l’App Store dans Delphi fait basculer WPF et Electron

La conception visuelle d’applications dans Delphi offre des gains de productivité jusqu’à 5 fois plus élevés que WPF et Electron

Delphi offre un gain de productivité massif sur WPF et Electron

Quitter la version mobile