Componentes JEDI
O Delphi, como uma ferramenta RAD (Rapid Application Development), possui nativamente uma gama muito grande de componentes para o desenvolvimento rápido de aplicações desktop. Porém, muitas vezes há a necessidade de utilização de recursos mais específicos em certos cenários, o que leva os desenvolvedores a criarem seus próprios componentes ou então buscar uma suíte de componentes para atender suas necessidades. Dentro deste contexto, a biblioteca JEDI é uma das principais opções que podem ser integradas ao RAD Studio para a personalização avançada das aplicações.
Apesar do Delphi apresentar uma quantidade muito grande de componentes para o desenvolvimento de aplicações, muitas vezes é necessário realizar personalizações detalhadas em certas partes do software de modo a agilizar ainda mais o desenvolvimento. Um exemplo é o uso de campos do tipo data em aplicações com banco de dados, nas quais uma boa alternativa é ser apresentado um calendário para que o usuário possa escolher a data de forma mais fácil e rápida. Nativamente, em aplicações no Delphi para Windows pode-se utilizar um componente TDBEdit da paleta Data Controls para essa situação, porém, não há opção nativa nas versões mais antigas do Delphi para abertura de um calendário conforme mencionado anteriormente. Dessa forma, caso essa funcionalidade seja requerida no software o desenvolvedor possui duas opções: a primeira é criar o seu próprio componente personalizado, enquanto que a segunda é utilizar uma biblioteca de terceiro que já apresente essa funcionalidade pronta para uso. Essas duas abordagens possuem vantagens e desvantagens e a seguir elas serão apresentadas.
Guia de Linguagem: Delphi
Uma das principais vantagens em desenvolver o seu próprio componente é o controle sobre o código fonte, pois o programador pode implementar sua codificação exatamente de acordo com suas necessidades. Algumas vezes, componentes de terceiros podem apresentar recursos a mais ou a menos que não atendem especificamente as necessidades do software, portanto, a criação personalizada garante total manutenção no código fonte. Outra vantagem é que um componente desenvolvido especificamente para um cenário é que ele pode ser personalizado de acordo com os requisitos do software, evitando o problema de possuir recursos a mais ou a menos que foi mencionado anteriormente. Por fim, mais uma vantagem é o fato de que o componente não corre o risco de ficar obsoleto entre as novas versões do Delphi que forem lançadas, ou seja, caso o desenvolvedor opte por migrar de uma versão para outra ele poderá facilmente adaptar o componente caso seja necessário. Por outro lado, no que diz respeito as desvantagens de criar componentes próprios podemos citar o tempo, pois dependendo da experiência do programador e da complexidade do componente este pode ser um processo bastante trabalhoso; e muitas vezes não há tempo disponível e a melhor solução é encontrar ferramentas de terceiros.
No que se refere a utilização de suítes de terceiros, uma das principais vantagens é que depois de instalado, na maioria das vezes não é necessário programar linhas de código adicionais para fazer uso dos recursos, visto que eles já estão todos implementados e basta que seja adicionado ao projeto juntamente com a configuração de algumas propriedades. Além disso, outros benefícios é que uma vez instalados na IDE, os componentes já estão prontos para uso e o desenvolvedor não precisa ter conhecimentos mais técnicos sobre a criação de componentes. Com relação as desvantagens, podemos citar o fato de que se o código fonte do componente não estiver disponível e a empresa/pessoa que o desenvolveu não der continuidade, ele pode ficar obsoleto e impossível de ser utilizado em versões mais novas do RAD Studio. Por isso, é preciso ficar atento quando instalar componentes não muito conhecidos no mercado ou que não tenham suporte para as versões mais recentes da IDE, pois por mais que um componente antigo possa funcionar não há garantias de que ele tenha seus recursos disponíveis nas versões futuras (principalmente quando utilizar várias bibliotecas de vários distribuidores). Por fim, outra desvantagem é que se ele não for open-source não é possível personalizar seus recursos, e caso os requisitos do sistema sejam alterados será necessário desenvolver um novo componente ou então buscar outra alternativa no mercado.
Projeto JEDI
O Projeto JEDI (Joint Endeavour of Delphi Innovators) nasceu quando o Delphi ainda era da Borland, e curiosamente, da revolta dos desenvolvedores de uma lista de e-mails com o longo tempo que a empresa levava para disponibilizar novas APIs e componentes adicionais aos que já existiam na IDE. Com isso, foram criados vários times de programadores que eram responsáveis por funções específicas dentro do desenvolvimento da ferramenta, ou seja, pessoas somente para conversões de código fonte, testadores, escritores de arquivos de ajuda e desenvolvedores do site para divulgação da ferramenta. Com isso, os objetivos principais do projeto são (i) prover os desenvolvedores Delphi com facilidades que expandem os recursos da IDE, (ii) produzir produtos testados e documentados para os desenvolvedores e (iii) tornar todos os recursos desenvolvidos disponíveis para a comunidade juntamente com o código fonte.
Desse modo, essa suíte de componentes é uma das mais recomendadas para desenvolvedores que querem adicionar mais recursos em suas aplicações, pois além de ela ter uma grande comunidade no mundo todo, pode ser instalada nas versões mais novas do Delphi, não possui custos e permite que seja feito o download do código fonte caso sejam necessárias alterações nos componentes. Em resumo, a suíte JEDI é uma boa alternativa para agregar novas funcionalidades aos softwares de maneira fácil, sendo uma opção para componentes pagos que apresentam funcionalidades semelhantes.
Baseado nisso, o objetivo deste artigo é apresentar uma introdução teórica e prática à alguns componentes da biblioteca JEDI, de modo a fornecer uma visão sobre a instalação, sobre as paletas e também a implementação de alguns exemplos utilizando os recursos oferecidos. Como o JED ...