Quebre suas aplicações em módulos

Em um artigo anterior verificamos a independência e modularidade que podemos dar as nossas aplicações no momento da instalação no cliente (deploy), se conseguirmos separar módulos usados por vários executáveis em DLLs. Desta forma, podemos compartilhar funcionalidades, evitando enviar grandes atualizações para os clientes.

Sabendo desta possibilidade de reuso, temos a partir do Delphi 3 a funcionalidade de packages, ou pacotes. Um package pode ser visto como uma DLL específica para o Delphi (com funcionalidades que se integram de maneira mais simples às aplicações). Não conseguimos, no entanto, usar pacotes Delphi para integrar com outras linguagens, diferentemente do que acontece com DLLs. A única exceção é a integração com o C++ Builder, também ferramenta da Borland.

Neste artigo mostraremos como construir packages e usá-los em nossos aplicativos. Faremos um exemplo inicial e depois mostraremos como realizar a divisão da aplicação em packages.

Packages ou DLLs?

O uso de DLLs permite compartilhar código entre aplicações desenvolvidas com as mais variadas linguagens de programação. Um exemplo clássico são as diversas empresas de impressoras fiscais. Normalmente elas distribuem uma DLL que os programadores devem usar para a integração do seu sistema de frente de caixa com as impressoras, independentemente da linguagem no qual esses sistemas foram desenvolvidos. As DLLs são recomendadas quando é necessário fazer a integração com aplicações de terceiros, desenvolvidas em outras linguagens.

Quanto ao uso de packages, temos algumas vantagens:

  • Reduzir o tamanho dos executáveisM;
  • Dividir a aplicação em módulos. Modularizando a nossa aplicação em packages, obteremos uma série de vantagens, dentre elas: compartilhar código entre vários projetos, gerenciar funcionalidades do sistema, melhorar a distribuição e a atualização para correção de erros;
  • Instalação de componentes facilitada. Se o nosso objetivo é desenvolver um conjunto de componentes para instalar no Delphi, também utilizaremos packages para fazer a distribuição dos componentes, facilitando a instalação na máquina do desenvolvedor.

Observe que as duas primeiras vantagens também são fornecidas pelas DLLs. Mas os packages oferecem maior integração ao ambiente do Delphi. Outra importante vantagem é a possibilidade de utilizar orientação a objetos, ou seja, podemos instanciar uma classe declarada dentro de um package. Assim, quando as aplicações desenvolvidas forem exclusivamente em Delphi (ou C++ Builder), há grandes ganhos na utilização de packages.

Packages de runtime

Todo executável gerado pelo Delphi sai com no mínimo 200 Kb de tamanho, sem possuir nenhuma funcionalidade prática. Modularizando aplicações com packages de runtime, podemos deixar nossos executáveis com tamanho entre 15 Kb e 30 Kb. Para conseguir esta diminuição brusca no tamanho do executável com o uso de packages, teremos um trabalho adicional no momento de realizar o deploy da aplicação na máquina cliente, como veremos na próxima seção.

...
Quer ler esse conteúdo completo? Tenha acesso completo