Por que eu devo ler este artigo:Neste artigo teremos uma visão da evolução de acesso a dados no Delphi. Faremos o desenvolvimento de um CRUD básico com FireDAC através de um cadastro que pode servir de modelo para a criação de todo um sistema.

Também teremos uma visão das características do FireDAC, seus principais componentes, o porquê que ele deve ser adotado para novos projetos com banco de dados e a razão de considerarmos a migração de sistemas existentes com outros mecanismos para o FireDAC. Aprenderemos algumas boas práticas para a confecção de interfaces e também dicas para o desenvolvimento de aplicações Client-Server.

Também veremos como utilizar um mesmo DataModule para aplicações VCL e FireMonkey. No fim, converteremos nosso formulário FireMonkey para o formato Metropolis UI, a plataforma gráfica do Windows 8.

O Delphi desde o seu surgimento em 1994 tem se caracterizado por ser a ferramenta mais produtiva para o desenvolvimento de aplicações com banco de dados. Devido ao seu estilo RAD e algumas classes muito bem projetadas como a TDataSet e o TField, fez com que se tornasse uma ferramenta praticamente imbatível nessa área.

Quando surgiu o Delphi, o principal conjunto de componentes de acesso a dados era o BDE (Borland Database Engine). Na versão do Delphi 6 surgiu a suíte de componente chamada de dbExpress, que até a versão XE2, era a principal engine de banco de dados no Delphi. Porém, a partir da versão XE3 surgiu o FireDAC, que trouxe uma grande evolução neste quesito.

Recomenda-se fortemente que novos projetos iniciados com o Delphi façam uso do FireDAC para o acesso a dados. O BDE e o dbExpress ainda estão presentes no conjunto de componentes do Delphi, porém, não serão mais evoluídos com a ferramenta.

CRUD

CRUD é o acrônimo para Create, Read, Update, Delete. Ou seja, são as quatro principais operações utilizadas nos bancos de dados relacionais. Representam respectivamente as instruções de Insert, Select, Update e Delete.

FireDAC

FireDAC é o nome dado a versão da Embarcadero após a aquisição da suíte AnyDAC, que foi integrada tanto ao Delphi quanto ao C++ Builder. No Delphi, o FireDAC está disponível a partir da versão XE3 através de um instalador a parte, já na versão XE5, a suíte encontra-se presente na instalação padrão.

Trata-se de um conjunto de componentes de alta performance e fácil utilização que provêm conexão com diferentes bancos de dados, tanto locais quanto corporativos. Cada banco de dados possui um driver e o FireDAC trabalha com cada um deles de forma diferente. Os drivers do FireDAC são nativos para cada banco em particular e ainda possuem integração aos tipos ODBC e dbExpress.

Para quem trabalha com a arquitetura multicamadas com Delphi e DataSnap (BOX 1), ou servidores REST (BOX 2), basta migrar a camada relativa ao Servidor de aplicações de dbExpress para FireDAC, pois, o componente TFDQuery é um TDataSet, portanto, é compatível com o TDataSetProvider. Na camada Cliente, o TClientDataSet permanece sem necessidade de qualquer alteração.

BOX 1. DataSnap

O DataSnap é o principal Framework para o desenvolvimento multicamadas no Delphi. Servidores de aplicação DataSnap podem ser desenvolvidos tanto em Delphi quanto em C++ Builder, porém, a grande vantagem está na aplicação Cliente, que pode ser desenvolvida em qualquer linguagem de programação que possua suporte à JSON. O Delphi 2009 trouxe uma grande mudança na arquitetura do DataSnap.

A partir desta versão a tecnologia COM foi abolida, mas algo tinha que substituí-la. Neste caso, como o Delphi já possuía uma tecnologia de acesso a dados muito eficiente, totalmente orientada a objetos e 100% escrita na própria linguagem, o dbExpress, a solução adotada foi criar um novo driver voltado ao DBX, no entanto, sua responsabilidade não seria a de se conectar a um banco de dados, mas sim, a um servidor de aplicação. Assim, a partir do Delphi 2009, a conexão do cliente com o servidor de aplicação passou a ser realizada utilizando o dbExpress trafegando os dados utilizando protocolo TCP/IP.

BOX 2. REST

REST é a abreviação de Representational State Transfer ou transferência de estado representacional. Teve seu surgimento a partir da tese de doutorado sobre a Web escrita por Roy Fielding, que foi um dos idealizadores do protocolo HTTP.

Alguns entendem que o REST é um novo protocolo, outros o chamam de arquitetura e alguns defendem que ele é apenas uma filosofia, uma forma de pensar, um estilo de projetar uma aplicação. O REST é uma boa prática, onde o principal objetivo é construir ap ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora