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.
Table of Contents
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 ):
- Fournisseur de données .NET Framework pour SQL Server
- Fournisseur de données .NET Framework pour OLE DB
- Fournisseur de données .NET Framework pour ODBC
- Fournisseur de données .NET Framework pour Oracle
- Fournisseur de données .NET Framework pour SQL Server Compact 4.0
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…
Le déploiement ultra-rapide de l’App Store dans Delphi fait basculer WPF et Electron
Delphi offre un gain de productivité massif sur WPF et Electron