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

El potente acceso a la base de datos integrado coloca a Delphi por delante de WPF y Electron

wp1 featured db access 2

¿Cómo funcionan Delphi, WPF .NET Framework y Electron en comparación entre sí, y cuál es la mejor manera de hacer una comparación objetiva? Embarcadero encargó un documento técnico para investigar las diferencias entre Delphi, WPF .NET Framework y Electron para crear aplicaciones de escritorio de Windows. La aplicación de referencia, un clon de la Calculadora de Windows 10, fue recreada en cada marco por tres voluntarios de Delphi Most Valuable Professionals (MVP), un desarrollador experto independiente de WPF y un desarrollador experto independiente Electron. En esta publicación de blog, vamos a explorar la métrica de acceso a la base de datos, que es parte de la comparación de flexibilidad utilizada en el documento técnico. La construcción de la calculadora en sí no utiliza una base de datos, por lo que las evaluaciones aquí son generalmente sobre los marcos en sí.

Acceso a la base de datos

¿El marco contiene bibliotecas nativas que admiten el acceso a la base de datos? La persistencia de datos es fundamental para muchas aplicaciones y debe ser fácil de usar e integrada con cualquier buen marco de desarrollo.

La principal ventaja de Delphi sobre WPF y Electron es que su marco FMX puede implementar un cuerpo de código fuente como binario en cualquier plataforma de escritorio o móvil importante, maximizando el alcance de una empresa a los clientes y minimizando la duplicación de código y los problemas de mantenimiento / actualización. Puede admitir proyectos de todos los tamaños, desde controladores lógicos para la automatización industrial hasta la gestión de inventario en todo el mundo, y se puede desarrollar para cada nivel, desde un back-end con una base de datos pesada hasta el lado del cliente GUI de una aplicación. Finalmente, las bibliotecas estándar de Delphi brindan un fácil acceso a casi todos los tipos de bases de datos disponibles y permiten a los desarrolladores acceder a la funcionalidad del sistema operativo en cada plataforma, así como interactuar con dispositivos de E / S y sensores de hardware. 

WPF con .NET Framework se dirige directamente a las computadoras con Windows. El marco está dirigido principalmente a aplicaciones de escritorio del lado del cliente, pero puede incorporar lógica empresarial en C # para funciones de nivel intermedio o back-end y acceder a ADO .NET Entity Framework para bases de datos. WPF puede acceder a la funcionalidad del sistema operativo Windows y a los dispositivos de E / S a través de bibliotecas .NET pero con código administrado después de la compilación en lugar de código nativo.

Electron es un marco de código abierto dirigido a los tres principales sistemas operativos de escritorio a través de su base de navegador Chromium. Se enfoca en aplicaciones del lado del cliente, generalmente centradas en la web, pero usa node.js para servicios de nivel medio y back-end. Electron proporciona acceso al hardware desde su proceso node.js y puede acceder a algunas, pero no a todas, las funciones del sistema operativo a través de las bibliotecas de node.js.

wp1 database access

Echemos un vistazo a cada marco.

Delphi

Delphi se envía con múltiples bibliotecas de bases de datos que se conectan a casi todos los tipos de bases de datos del mercado. El acceso a la base de datos, las consultas y la visualización de datos se integran sin problemas a través de componentes accesibles en la Community Edition gratuita y en el primer nivel de licencia comercial. Si bien Delphi y WPF obtuvieron una puntuación similar en el documento técnico, Delphi se envía con una cadena de herramientas más integrada y bases de datos más compatibles.

FireDAC es una biblioteca de acceso universal a datos para desarrollar aplicaciones para múltiples dispositivos, conectados a bases de datos empresariales. Con su potente arquitectura universal, FireDAC permite el acceso directo nativo de alta velocidad desde Delphi y C ++ Builder a InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap y más, incluida la base de datos NoSQL MongoDB.

FireDAC es una capa de acceso poderosa pero fácil de usar que admite, abstrae y simplifica el acceso a los datos, proporcionando todas las funciones necesarias para crear aplicaciones de alta carga del mundo real. FireDAC proporciona una API común para acceder a diferentes back-end de bases de datos, sin ceder el acceso a funciones únicas específicas de bases de datos y sin comprometer el rendimiento. Utilice FireDAC en las aplicaciones de Android, iOS, Windows y Mac OS X que esté desarrollando para PC, tabletas y teléfonos inteligentes.

 

A continuación, puede encontrar la lista de todas las bases de datos FireDAC compatibles con RAD Studio. La lista incluye la versión mínima y máxima admitida en cada versión 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


Conexiones de base de datos adicionales, probadas con el controlador 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

Además de FireDAC, Delphi y RAD Studio tienen un rico ecosistema de terceros que proporciona muchas soluciones de acceso a bases de datos comerciales y de código abierto diferentes. Incluso puede acceder a bibliotecas .NET desde Delphi y C ++ a través de soluciones de terceros como CrossTalk de ATOZED Software .

WPF .NET Framework


WPF incluye acceso a bibliotecas de bases de datos, incluido ADO .NET Entity Framework, que permiten conexiones, consultas y entradas de bases de datos a través del código C #. Según Microsoft .NET Framework solo se envía con los siguientes proveedores de datos ( fuente ):

  • Proveedor de datos de .NET Framework para SQL Server
  • Proveedor de datos de .NET Framework para OLE DB
  • Proveedor de datos de .NET Framework para ODBC
  • Proveedor de datos de .NET Framework para Oracle
  • Proveedor de datos de .NET Framework para SQL Server Compact 4.0

WPF .NET Framework recibió una puntuación alta en el documento técnico para el acceso a la base de datos debido a la compatibilidad con ODBC. Otros proveedores de datos están disponibles de terceros. Sin embargo, se requiere tiempo para rastrear cada biblioteca de base de datos diferente necesaria, instalarla y mantenerla actualizada.

Electrón

Electron no incluye una biblioteca de acceso a la base de datos nativa cuando se instala por primera vez. Por lo tanto, no se trata de una instalación de paquete singular que contenga todas las funciones necesarias para acceder a las bases de datos. Puede acceder a las bases de datos a través de NodeJS y hay varias bibliotecas de código abierto disponibles para aprovechar las bases de datos de servidor y sin servidor, incluidas las implementaciones de JavaScript. Sin embargo, se requiere tiempo para rastrear cada biblioteca de base de datos diferente necesaria, instalarla y mantenerla actualizada.

A continuación, se muestra un ejemplo del esfuerzo necesario para conectarse a una base de datos Oracle desde NodeJS para su uso en Electron:

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

Los paquetes de conectividad de base de datos también están disponibles a través de un administrador de paquetes como se ve aquí:

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

Los tres marcos tienen al menos alguna forma de acceder a la mayoría de las bases de datos. Sin embargo, Delphi y RAD Studio se envían con las bases de datos más compatibles de los tres marcos. Además, debido a que estos componentes de acceso a la base de datos vienen con Delphi, no se necesita tiempo adicional para rastrear y mantener bibliotecas de terceros. Delphi tiene un rico ecosistema de componentes de acceso a bases de datos de terceros que son opcionales de usar. WPF .NET Framework es un marco heredadosegún Microsoft y solo se envía con alrededor de 5 proveedores de datos (aunque para ser justos, puede acceder a muchas bases de datos a través de ODBC). Electron no se envía con ningún componente de acceso a la base de datos, pero están fácilmente disponibles a través del ecosistema NodeJS y requieren un esfuerzo adicional para encontrar y mantener, lo que hace que la solución sea frágil. En general, Delphi proporciona una cadena de herramientas más flexible e integrada con más bases de datos compatibles que los otros dos marcos.

Explore todas las métricas en el documento técnico “Descubriendo el mejor marco para desarrolladores a través de la evaluación comparativa”:

Descargue el documento técnico gratuito de Delphi vs.WPF vs.Electron para equipos de escritorio con Windows

Lectura adicional…

Delphi proporciona viabilidad a largo plazo sobre WPF .NET Framework en constante cambio y al final de su vida útil

La implementación ultrarrápida de la tienda de aplicaciones en Delphi derrota a WPF y Electron

El diseño visual de aplicaciones en Delphi ofrece ganancias de productividad hasta 5 veces mayores que WPF y Electron

Delphi ofrece un aumento masivo de la productividad sobre WPF y Electron

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

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

Sobre el autor

Director de Delphi Consulting para GDK Software USA. Muchas patentes relacionadas con software, incluidas desbloqueo por deslizamiento y patrón y motores de búsqueda. Primeras insignias Plata y Oro de Delphi en Stack Overflow Ex defensor de los desarrolladores de Embarcadero Technologies. Fanático de la programación desde hace mucho tiempo, especialmente con Delphi. Autor, Podcaster/YouTuber, Improvisor, Orador Público, Padre y Amigo.

Leave a Reply

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

IN THE ARTICLES