Artigo Clube Delphi Edição 23 - Linux Direto

Artigo da Revista Clube Delphi Edição 23.

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



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.
 

 

Linux Direto

Programação com Qt e CLXDisplay

Com o lançamento do Kylix em janeiro de 2001, veio para o Linux a facilidade de desenvolvimento já presente no Delphi. O desenvolvimento com essas ferramentas é muito produtivo, sendo chamado de RAD (Rapid Application Development). Porém, a maior crítica feita pelos desenvolvedores mais experientes é que as ferramentas RAD escondem os detalhes da implementação, gerando código possivelmente lento e ineficiente. O objetivo deste artigo é mostrar que, embora sendo uma ferramenta RAD, o Kylix permite o acesso às APIs que estão por trás do desenvolvimento visual, permitindo obter o máximo do ambiente.

Bibliotecas

Quando a Borland decidiu portar o Delphi para o Linux, encontrou um problema. Sua biblioteca de componentes, a VCL (Visual Component Library), era extremamente dependente das funções internas do Windows. A Borland poderia optar por usar uma biblioteca de emulação, como a WineLib (http://www.winehq.com), mas encontraria o mesmo problema quando fosse portar para outros ambientes. A solução encontrada foi reescrever completamente a biblioteca. Isto poderia ser feito criando uma nova VCL que não fosse baseada em nenhuma biblioteca gráfica, mas seria um trabalho tão grande que atrasaria muito o lançamento do produto.

 

A Borland então optou por basear sua nova biblioteca de componentes na biblioteca Qt, da companhia norueguesa Troll Tech. Esta é uma biblioteca portável (existem versões do Qt disponíveis para Linux, Windows, diversos Unixes, Mac e até Palm), usada como base do KDE. Esta nova biblioteca de componentes, chamada de CLX, foi criada para ser uma biblioteca multi-plataforma.

 

Com este enfoque, além de ganhar na velocidade de desenvolvimento da nova ferramenta, a Borland ganhou na portabilidade: o Delphi 6 (para Windows) permite criar aplicações que usam a CLX e podem ser portadas para Linux, necessitando apenas da recompilação dos fontes no Kylix.

Qt e o Kylix

Os componentes da CLX encapsulam os widgets (este é o nome que se dá aos componentes visuais do Linux) do Qt, permitindo que o modo de trabalho em Kylix seja muito semelhante àquele do Delphi, fazendo que a experiência dos milhares de desenvolvedores Delphi não seja desperdiçada. Muitas vezes, isto é apenas uma camada leve sobre o Qt e seu widget; outras vezes, o componente é totalmente escrito usando o Kylix.

 

A biblioteca Qt é uma biblioteca de classes C++, não sendo inteiramente compatível com o Kylix. Para poder usar as classes desta biblioteca, os projetistas da Borland fizeram um "achatamento" das classes, produzindo um conjunto de funções, importadas no arquivo Qt.pas. Estas funções constituem o que a Borland convencionou chamar de API CLXDisplay. Com elas, um programa em Kylix pode acessar a biblioteca Qt, usando suas classes como qualquer programa C++. Note que o Kylix não tem arquivos de ajuda sobre a CLXDisplay. Toda a ajuda está na documentação do Qt, que pode ser obtida no site doc.trolltech.com.

 

O achatamento das classes é feito da seguinte maneira:

 

·Todos os componentes têm um manipulador, um ponteiro para a instância da classe que foi criada. Este manipulador tem o nome da classe, seguido por um H. Por exemplo, o manipulador de uma instância da classe QLabel tem tipo QLabelH.

 

·O acesso à instância deve ser feito usando este manipulador, que é retornado pelo achatamento do construtor da classe, que torna-se uma função.

·Os métodos da classe usam este manipulador como primeiro parâmetro." [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados