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

Poderoso acesso ao banco de dados integrado coloca o Delphi à frente do WPF e do Electron

wp1 featured db access 2

Qual é o desempenho do Delphi, do WPF .NET Framework e do Electron em comparação entre si, e qual é a melhor maneira de fazer uma comparação objetiva? A Embarcadero encomendou um white paper para investigar as diferenças entre Delphi, WPF .NET Framework e Electron para a construção de aplicativos de desktop do Windows. O aplicativo de benchmark – um clone da Calculadora do Windows 10 – foi recriado em cada estrutura por três voluntários Delphi Most Valuable Professionals (MVPs), um desenvolvedor WPF freelance especializado e um desenvolvedor freelance especializado em Electron. Nesta postagem do blog, vamos explorar a métrica de acesso ao banco de dados, que faz parte da comparação de flexibilidade usada no white paper. A calculadora em si não usa um banco de dados, portanto, as avaliações aqui são geralmente sobre as próprias estruturas.

Acesso ao banco de dados

A estrutura contém bibliotecas nativas com suporte para acesso ao banco de dados? A persistência de dados é crítica para muitos aplicativos e deve ser amigável e integrada com qualquer boa estrutura de desenvolvimento.

A principal vantagem da Delphi sobre o WPF e o Electron é que sua estrutura FMX pode implantar um corpo de código-fonte como um binário para qualquer grande desktop ou plataforma móvel, maximizando o alcance de uma empresa para os clientes e minimizando a duplicação de código e dores de cabeça de manutenção / atualização. Ele pode oferecer suporte a projetos de todos os tamanhos, desde controladores lógicos para automação industrial até gerenciamento de inventário em todo o mundo, e ser desenvolvido para cada camada, desde um back-end pesado de banco de dados até o lado do cliente GUI de um aplicativo. Finalmente, as bibliotecas padrão da Delphi fornecem acesso fácil a quase todos os tipos de banco de dados disponíveis e permitem que os desenvolvedores acessem a funcionalidade do sistema operacional em todas as plataformas, bem como interajam com dispositivos de E / S e sensores de hardware. 

O WPF com .NET Framework visa computadores Windows diretamente. A estrutura é principalmente voltada para aplicativos de desktop do lado do cliente, mas pode incorporar lógica de negócios em C # para funções de camada intermediária ou back-end e acessar o ADO .NET Entity Framework para bancos de dados. O WPF pode acessar a funcionalidade do sistema operacional Windows e dispositivos de E / S por meio de bibliotecas .NET, mas com código gerenciado após a compilação, em vez de código nativo.

Electron é uma estrutura de código aberto voltada para os três principais sistemas operacionais de desktop por meio de sua base de navegador Chromium. Ele se concentra em aplicativos do lado do cliente, normalmente centrados na web, mas usa node.js para serviços de camada intermediária e back-end. Electron fornece acesso ao hardware de seu processo node.js e pode acessar algumas, mas não todas as funções do sistema operacional por meio de bibliotecas node.js.

wp1 database access

Vamos dar uma olhada em cada estrutura.

Delphi

O Delphi vem com várias bibliotecas de banco de dados que se conectam a quase todos os tipos de banco de dados do mercado. O acesso ao banco de dados, as consultas e a exibição de dados são perfeitamente integrados por meio de componentes acessíveis na Community Edition gratuita e na primeira camada de licença comercial. Enquanto Delphi e WPF pontuaram de forma semelhante no white paper, o Delphi vem com uma cadeia de ferramentas mais integrada e mais bancos de dados suportados.

FireDAC é uma biblioteca de acesso universal a dados para o desenvolvimento de aplicativos para vários dispositivos, conectados a bancos de dados corporativos. Com sua poderosa arquitetura universal, FireDAC permite acesso direto de alta velocidade nativa de Delphi e C ++ Builder para InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap e mais, incluindo o banco de dados NoSQL MongoDB.

FireDAC é uma camada de acesso poderosa, mas fácil de usar, que oferece suporte, abstrai e simplifica o acesso aos dados, fornecendo todos os recursos necessários para construir aplicativos de alta carga do mundo real. FireDAC fornece uma API comum para acessar diferentes back-ends de banco de dados, sem abrir mão do acesso a recursos exclusivos e específicos do banco de dados e sem comprometer o desempenho. Use FireDAC em aplicativos Android, iOS, Windows e Mac OS X que você está desenvolvendo para PCs, tablets e smartphones.

 

Abaixo você pode encontrar a lista de todos os bancos de dados FireDAC suportados pelo RAD Studio. A lista inclui a versão mínima e máxima com suporte em cada versão do 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


Conexões de banco de dados adicionais, testadas usando o driver 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

Além do FireDAC, Delphi e RAD Studio têm um rico ecossistema de terceiros que oferece muitas soluções comerciais e de acesso a banco de dados de código aberto. Você pode até mesmo obter bibliotecas .NET de Delphi e C ++ por meio de soluções de terceiros como o CrossTalk da ATOZED Software .

WPF .NET Framework


O WPF vem com acesso a bibliotecas de banco de dados, incluindo ADO .NET Entity Framework, que permitem conexões, consultas e entradas de banco de dados por meio de código C #. De acordo com o Microsoft .NET Framework, é fornecido apenas com os seguintes provedores de dados ( fonte ):

  • Provedor de dados .NET Framework para SQL Server
  • Provedor de dados .NET Framework para OLE DB
  • Provedor de dados .NET Framework para ODBC
  • Provedor de dados .NET Framework para Oracle
  • Provedor de dados .NET Framework para SQL Server Compact 4.0

O WPF .NET Framework recebeu uma pontuação alta no white paper para acesso ao banco de dados devido ao suporte ODBC. Outros provedores de dados estão disponíveis de terceiros. No entanto, é necessário tempo para rastrear cada biblioteca de banco de dados diferente necessária, instalá-la e mantê-la atualizada.

Elétron

O Electron não inclui uma biblioteca nativa de acesso ao banco de dados quando é instalado pela primeira vez. Portanto, não é uma instalação de pacote única contendo todas as funcionalidades necessárias para acessar bancos de dados. Ele pode acessar bancos de dados por meio de NodeJS e várias bibliotecas de código aberto estão disponíveis para controlar bancos de dados de servidor e sem servidor, incluindo implementações de JavaScript. No entanto, é necessário tempo para rastrear cada biblioteca de banco de dados diferente necessária, instalá-la e mantê-la atualizada.

Aqui está um exemplo do esforço necessário para se conectar a um banco de dados Oracle do NodeJS para uso no Electron:

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

Pacotes de conectividade de banco de dados também estão disponíveis por meio de um gerenciador de pacotes, como visto aqui:

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

Todas as três estruturas têm pelo menos alguma maneira de acessar a maioria dos bancos de dados. No entanto, Delphi e RAD Studio vêm com os bancos de dados mais suportados de todas as três estruturas. Além disso, como esses componentes de acesso ao banco de dados vêm com o Delphi, não há tempo extra necessário para rastrear e manter bibliotecas de terceiros. O Delphi possui um rico ecossistema de componentes de acesso a banco de dados de terceiros que são opcionais de usar. WPF .NET Framework é uma estrutura legadade acordo com a Microsoft e só vem com cerca de 5 provedores de dados (embora, para ser justo, você possa obter muitos bancos de dados por meio do ODBC). O Electron não é fornecido com nenhum componente de acesso ao banco de dados, mas eles estão prontamente disponíveis através do ecossistema NodeJS e requerem esforço extra para localizar e manter, o que torna a solução frágil. No geral, o Delphi fornece uma cadeia de ferramentas mais flexível e integrada com mais bancos de dados com suporte imediato do que as outras duas estruturas.

Explore todas as métricas no white paper “Descobrindo a melhor estrutura de desenvolvedor por meio de benchmarking”:

Baixe o artigo gratuito Delphi vs. WPF vs. Electron para desktops Windows

Leitura adicional …

Delphi oferece viabilidade de longo prazo em relação à estrutura WPF .NET de elétron e fim de vida em constante mudança

Implantação da App Store Lightning-Fast em Delphi Trounces WPF e Electron

O design visual de aplicativos em Delphi proporciona ganhos de produtividade de até 5 vezes em relação ao WPF e ao Electron

Delphi oferece grande aumento de produtividade em relação a WPF e 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 o autor

Diretor de Consultoria Delphi da GDK Software USA. Muitas patentes relacionadas a software, incluindo desbloqueio por deslize e padrão e mecanismos de pesquisa. Primeiros emblemas Silver e Gold Delphi no Stack Overflow Ex-advogado de desenvolvedores da Embarcadero Technologies. Fã de longa data de programação, principalmente de Delphi. Autor, Podcaster/YouTuber, Improvisor, Orador, Pai e Amigo.

Leave a Reply

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

IN THE ARTICLES