Um conhecimento só é válido quando compartilhado.

domingo, 28 de julho de 2013

DBXpress x FireDAC x TDataSetProvider + TClientDataSet

Olá a todos leitores, vou bloggar hoje sobre a nova engine de acesso a banco de dados da Embarcadero e no mesmo assunto sobre a DBXpress engine que era a promessa da Embarcadero e que acabou indo de ralo abaixo depois da nova aquisição.

Quem é programador em delphi mais antigo (nem precisa ser igual a mim desde a versão do delphi 2), sabe que essa é a terceira engine de acesso a dados mudada no delphi, para quem não sabe as primeiras versões vinham com o famoso BDE que ficou muito tempo sendo a engine de acesso a dados do Delphi. A algum tempo atras não muito tivemos a noticia que o BDE continuaria vindo junto ao Delphi, mas seria descontinuado, bom isso foi um impacto, pois a maioria estavam totalmente amarrados a ela, e teria que mudar toda sua estrutura e forma de acesso dados com a nova tecnologia oferecida junto ao Delphi, o DBXpress.

O DBXpress mudava toda a filosofia de acesso aos dados do banco que a maioria dos desenvolvedores conheciam, pois usavam Table e não Query, sem contar a linha de aprendizado, a mudança era tanto que até hoje tem sistemas usando o BDE mesmo sem sofrer melhorias.

Recentemente recebemos uma noticia parecida sobre o DBXpress, a Embarcadero adquiriu a engine UniDAC e mudou seu nome para FireDAC, engine essa que será agora a principal ferramenta de acesso a dados vinda com o Delphi, e como disse a noticia é parecida por vim com o anuncio que o DBXpress continuará a vir, mas não sofrerá melhorias, a diferença é que a linha de aprendizado na mudança do DBXpress para FireDAC será bem pequena para quem usa o essencial.

Fica em nossa mente, uma interrogação. Será até quando usaremos o FireDAC e teremos que mudar para outra engine?

Baseado nessa interrogação, fica aqui minha dica. Eu quando sai do BDE olhei o IBX, mas vi que ficaria amarrado ao Firebird, mas não sabia até quando pois essa engine é de acesso ao Interbase, muita gente usa para o Firebird, mas não sabe até quando manterá compatibilidade de acesso e conseguirá continuando a usa-la assim.

Nessa linha de pensamento, mudei para o DBXpress, mas usando o TSQLDataSet + TDataSetProvider + TClientDataSet, aos olhos dos mais analistas de código para ter totalmente o beneficio da mais nova engine o FireDAC, não se deveria usar o TClientDataSet, pois o TADQuery, tem o mesmo recurso para acesso a dados (menos para DataSnap) e com ele se tem maior agilidade em acesso a dados.

Mas a questão que vi é que além desse beneficio preciso pensar  também na vida útil do FireDAC com a Embarcadero, pois se usando a tecnologia (Engine) + TDataSetProvider + TClientDataSet, fica bem facil de mudar de estrutura de acesso a dados, pois o TClienteDataSet, esse não irá continuar sem melhorias, pois ele faz parte da tecnologia DataSnap, e essa a Embarcadero não trocou, nem deixará de atualiza-la, dessa forma espero que o TClientDataSet passe por um refectory e seja tão rápido quanto se diz ser o TQDQuery, quem sabe? Sem contar que se num futuro o FireDAC deixar de ser o engine principal, e a Embarcadero comprar outra engine, fica facil de mudar novamente, como esta sendo dessa vez.

É isso ai, espero que a dica tenha sido valiosa para você amigo leitor, grande abraço e fique com Deus.

3 comentários :

  1. Olá Isaque !

    Estamos na mesma duvida para que lado correr,

    Em que você esta postando Clientdataset x provider x query ou Memtable x Adapter x Command ?

    Se puder ajudar ?

    Marcio.reis@dsisistemas.com

    ResponderExcluir
    Respostas
    1. TClientDataset x TDataSetProvider x FDQuery, estou fazendo por módulos, está indo bem.

      Excluir
  2. Só um detalhe. Se utilizar DataSnap REST no modo ISAPI ou Apache, ele é totalmente independente do DBX e muito menos da biblioteca Indy.
    Isto quer dizer que o DBX ficará parado no tempo e futuramente pode ser removido do Delphi assim como foi feito com o BDE.

    ResponderExcluir

SAC Automação Delphi e Lazarus

SAC Automação Delphi e Lazarus
Assine nosso SAC Automação Delphi e Lazarus para ter suporte técnico especializado em desenvolvimento

Quem sou eu

Minha foto

Proprietário/Administrador de Empresa em TI (Tecsis Informática)
  • Autor dos projetos OpenSource ORMBr, e DBCBr
  • Autor dos componentes ACBrInstall, ACBrSped, ACBrPaf, ACBrInStore, ACBrDownload.

Total de visualizações

Postagem em destaque

ORMBr - Mapeamento objeto-relacional

Mapeamento objeto-relacional ( ou ORM, do inglês: Object-relational mapping ) é uma técnica de desenvolvimento utilizada para reduzir...

Todo os direitos reservados.. Tecnologia do Blogger.

Seguidores

Google+ Seguindores