Artigo Clube Delphi Edição 11 - Kylix Project

Artigo da Revista Clube Delphi Edição 11.

Esse artigo faz parte da revista Clube Delphi edição 11. Clique aqui para ler todos os artigos desta edição

Capa Revista

Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

Kylix Project

DBEXPRESS - A nova BDE

 

O Delphi nunca sofreu uma mudança tão radical em sua estrutura. O Delphi para Linux e o Delphi 6 para Windows estão trazendo uma quantidade enorme de novidades para os desenvolvedores. A maior delas, talvez se deva ao fato da  VCL ser substituída por uma nova classe de objetos, denominada CLX (leia 'clicks'). O CLX é uma camada de componentes portável entre as plataformas Windows ,Linux e, futuramente, as distribuições do Delphi para outros sistemas operacionais. Isto significa que um aplicativo escrito em Delphi 6 para windows poderá ser portado para o Linux com uma grande facilidade, e vice-versa.

 

A camada CLX está dividida em quatro categorias básicas:

 

BaseCLX      - As classes-pai desta biblioteca

VisualCLX     - As classes de interface, os controles visuais;

DataCLX        - Componentes de acesso à dados

NetCLX        - Objetos voltados para a Internet - a atual palheta FastNet será substituída por esta camada.

 

         A VisualClx, que contém as classes-pai para os objetos de interface, foi construída a partir da biblioteca Qt (leia "kíuti"), uma GUI interplataforma - está disponível para Windows e Linux. O Qt é fornecido pela trolltech e pode ser conferido com detalhes no endereço www.trolltech.com.

         O papel de uma GUI (graphics user interface) é especificar regras de exibição e funcionamento para os objetos visuais. Por exemplo, a GUI de um sistema  especifica se as janela serão tridimensionais ou não, ou como elas serão minimizadas. A GUI padrão do Windows é representada pela Win32 - um conjunto de APIs comuns ao Win9x e ao WindowsNT. Os objetos padronizados, como botões, listboxes, radiogroups e outros, foram reconstruídos a partir desta biblioteca e serão transparentes para o desenvolvedor. Veja   a seguir uma figura que ilustra os objetos da camada VisualClx:

 

Imagem 1

IDE do Kylix, exibindo objetos VisualCLX

 

         A camada NetClx, além de substituir todos os componentes hoje encontrados para a Internet (diga adeus à FastNet!) traz além da manipulação de dados em XML, a interação com o servidor de web Apache - um fator fundamental para o desenvolvimento de CGIs no Linux.

 

DataClx e DbExpress - A nova BDE

 

         A nova camada de objetos para acesso a dados, dataCLX, foi totalmente baseada na tecnologia MIDAS, ou seja, recursos como caching, cursors, n-tier e outros, estarão encapsulados nos objetos DataClx. Quem hoje utiliza o MIDAS para desenvolver seus aplicativos, terá uma portabilidade maior do que os sistemas baseados somente em tables ou queries.

         A Inprise ainda não divulgou como será o licenciamento do MIDAS para aplicativos construídos a partir da camada DataClx.

         A Bde (Borland Database Engine), que acompanhou o Delphi desde sua primeira versão,  não estará mais presente. Os objetos DataClx irão interfacear com uma nova camada de acesso à dados, denominada dbExpress. Esta nova camada foi reconstruída a partir do zero, não aproveitando a estrutura da BDE. Veja agora as principais diferenças entre a BDE e a DbExpress:

         A camada DbExpress é  muito mais simples e leve, deixando muitos recursos a serem controlados pela própria aplicação.  Por exemplo, o caching de dados. A dbExpress retornará os dados somente de forma unidirecional, ou seja, não criará um handle de edição (live result set). A camada Midas, encapsulada nos objetos DataCLX, será a  responsável pelo cache dos dados retornados.

         A API desta camada é mais simples, baseada em apenas quatro objetos- SQLDriver, SQLConnection, SQLCommand e SQLCursor - comumente chamados de SQLObjects.

         A movimentação de registros, a indexação, ou qualquer outro tipo de manipulação dos dados retornados serão controlados pelo MIDAS ClientDataSet, livrando a DbExpress deste trabalho.

         A dbExpress também não implementará o Cached Updates, RequestLives ou reprocessamento de querys dinamicamente, o que irá incrementar a performance de acesso.

         Em suma, a nova camada promete um considerável aumento de performance para aplicações que manipulem massas de dados. Vejamos os principais pontos oferecidos pela DbExpress:

 

- Incremento  considerável de velocidade, visto que a DbExpress é muito simples, eliminando toda a carga de processamento realizada pelo BDE;

- Maior praticidade para distribuição do aplicativo, pois a complexidade de configuração e instalação da BDE não estará mais presente:

- Alocação de recursos dinâmicos no cliente será muito menor.

Até a data de fechamento deste artigo, a Borland já havia confirmado o acesso ao Interbase e ao MySQL através desta camada.

 

CLX - O Delphi não é o mesmo?

 

         As propriedades, métodos e eventos dos novos objetos são  muito parecidos com a VCL. Portanto, os desenvolvedores não terão o que se preocupar, já que o desenvolvimento será praticamente transparente. Já os construtores de componentes  sentirão um pouco de diferença, pois a estrutura dos novos objetos seguem novos conceitos. Veja alguns exemplos:

 

- As mensagens (messages) do Windows não estão presentes;

- Objetos derivados de TwinControl, irão descender de TwidgetControl;

- OwnerDraw não mais existe. Um novo conceito surge, chamado Styles (estilos).O uso de estilos permite a um controle assumir uma aparência completamente diferente, sem interferir no restante do código, de forma parecida com as interfaces gráficas do Linux.

         Há pouco tempo, a Borland divulgou um componente totalmente escrito sobre a plataforma CLX, para seus parceiros de desenvolvimento de componentes. Este objeto é  uma simples calculadora. As figuras abaixo demonstram o componente rodando sob a plataforma Windows e Linux, respectivamente:

 

Objeto Calculadora CLX sob o Windows

 

O mesmo objeto sob o Red Hat

 

         Para facilitar a migração de aplicativos para a nova plataforma CLX, a borland disponibilizou um aplicativo que informa as classes mais utilizadas em seu sistema. O VCLScanner pode ser baixado, com fontes,  no endereço: ftp://ftpc.inprise.com/pub/vcl_scanner/vclscanner-v1.zip

 

 

O Scanner listando os objetos mais utilizados pelo aplicativo CD-VENDAS

Artigos relacionados