Categorias

ExtJS: Um excelente framework de JavaScript

Conceito e história

O EXT JS é um framework JavaScript criado originalmente como uma extensão do YUI (Yahoo! User Interface). Na época de sua criação, chamava-se yui-ext, funcionando junto ao YUI, que era a base. Por ser uma extensão do YUI, o yui-ext não funcionava sem ele.

O EXTjs é um software de código livre criado por Jack Slocum, disponibilizado sob a licença LGPL, porém pode ser comprado para vir com uma outra licença não-livre, caso seja preciso, e também há como adquirir apenas o suporte pago do EXTjs o que dá direito, além do suporte via fórum, e-mail, telefone e onsite (dependendo do nível de associação), o acesso ao SVN do EXTjs onde estão as versões de desenvolvimento do EXTjs e as correções ainda não liberadas publicamente.

Com o desenvolvimento do yui-ext, foram sendo incorporados diversos adapters (adaptadores), que funcionavam de ponte entre o yui-ext e outros Frameworks de JavaScript: o Prototype e jQuery.

Com o crescente e rápido reconhecimento entre os desenvolvedores como uma extensão rica em funcionalidades e componentes de interface acrescentando valor aos mais conhecidos Frameworks de Javascript (YUI, Prototype e jQuery), o seu desenvolvimento foi ganhando em colaboradores e velocidade. Assim, sucederam-se várias versões 0.x do yui-ext, antes de ser lançada a versão 1.0 final onde seu nome foi alterado para EXT JS, demonstrando que ele já não era apenas uma extensão para o YUI.

A próxima release lançada foi o EXTjs 1.1, sendo que, a partir dessa versão houve um salto tornando-o um verdadeiro Framework de JavaScript ou Ajax Framework e não mais limitado a ser apenas uma extensão para outros Frameworks, apesar de ainda poder ser usado assim.

A partir da versão 1.1.1 o EXTjs passou a ser oficialmente suportado pelos navegadores Microsoft Internet Explorer 6+, Mozilla Firefox 1.5+, Apple Safari 2+ e Opera 9+ e extra-oficialmente com o Konqueror, Galeon, Ice Weasel, Mozilla, Netscape e provavelmente outros.

Após a série 1.1, começou a ser desenvolvido o EXTjs 2.0, trazendo várias funções e componentes básicos completamente remodelados para trabalhar com mais eficiência e códigos menores.

Características

O ExtJS, por ser uma biblioteca JavaScript cross-browser, provê o desenvolvedor de ferramentas para criar interfaces para páginas e sistemas web-based com alta performance, customização e uma aparência elegante.

Atualmente o ExtJS é suportado oficialmente pelos navegadores Internet Explorer 6+, FireFox 1.5+ (PC, Mac), Safari 3+ e Opera 9+ (PC, Mac).

Pode ser utilizado sob a GPL ou pode-se adquirir uma licença comercial, além de ser possível a compra de suporte técnico.

O ExtJS suporta os frameworks Yahoo! User Interface, Prototype e jQuery, através de adapters (adaptadores). Além disso, trabalha integrado com o Adobe AIR e com Google Web Toolkit (GWT).

A sua utilização é bastante simples, uma vez que os arquivos necessários à sua utilização são incluídos na página HTML (ou PHP etc) através das tags <SCRIPT>, tal como a inclusão que qualquer arquivo *.js.

A documentação também é farta, existindo uma ativa comunidade de utilizadores no Brasil, além da comunidade Norte-Americana.

A própria documentação do ExtJS (inglês) é fácil de entender e bastante dinâmica, bem como apresenta diversos exemplos de suas funcionalidades. Veja uma imagem da API de documentação:

Existem ainda algumas ferramentas para criação visual de componentes, tais como formulários, todas disponíveis gratuitamente, além de plugins para algumas IDEs (Aptana, por exemplo).

Um exemplo do que pode ser feito com ExtJS é o Webtop da imagem:

Principais funcionalidades

Como foi dito na seção sobre as características do ExtJS, ele trabalha muito bem com o Adobe AIR e com o Google Web Toolkit.

Porém, as principais funcionalidades desta biblioteca são:

  • Dados: provê maneira ágil, fácil e eficiente de intercâmbio de dados com scripts php, asp, java, etc, através do JSON, principalmente, mas também trabalha bem com arquivos XML.
  • Drag & Drop: uma das melhores funcionalidades do ExtJS é o Arrastar e Soltar (drag & drop ou DD). Com esse componente, o desenvolvedor pode facilmente criar instruções que permitam arrastar-e-soltar elementos nas páginas web, inclusive promovendo alterações em dados ou outras ações.
  • Formulários: um dos pontos fortes do ExtJS é a facilidade e a elegância dos formulários que podem ser criados. Vão desde simples formulários até formulários aninhados, em abas e conjugados com outros elementos. Pode-se arratar itens de uma tabela de dados e estes dados surgem em campos de um formulário, por exemplo.

  • Grid: assim como no jQueri, com o ExtJS é possível criar diversos tipos de grid (tabelas de dados), podendo editar dados diretamente, ordenar, mover colunas, e diversas outras funcionalidades interessantes; tudo de forma elegante e eficiente.

  • Layout: é possível criar layouts elegantes, bonitos e práticos, através do ExtJS. Criação de painéis, janelas, abas, etc pode ocorrer dinamicamente, além de ser fácil a implementação de temas uma vez que o visual fica a cargo de arquivos CSS.

  • Menus: bonitos e elegantes menus de diversos tipos podem ser criados e integrados em diversos elementos.
  • Tree: uma das melhores funcionalidades do ExtJS é a criação de árvores (como a árvore de pastas do Windows Explorer, por exemplo). Além de servirem de menus hierárquicos, podem servir de classificadores de dados, exibição de arquivos e pastas e diversas outras funcionalidades.


  • Outros componentes: além dos componentes já citados, o ExtJS conta com componentes capazes de possibilitar o redimensionamento de elementos, paginação de dados, abas, barras de progresso, QuickTips, barras de status, splitbars, tooltips e toolbars, windows (janelas) entre outros.

Conclusão

Como se pode ver nas seções anteriores, o ExtJS facilita e muito o desenvolvimento web, seja porque provê ao desenvolvedor de ferramentas poderosas para criação de interfaces elegantes, funcionais e eficientes; seja porque retira do desenvolvedor a preocupação com a elaboração visual, que às vezes não é tão importante quanto a camada de tratamento dos dados.

Resumindo em uma frase popular, o ExtJS é “bom, bonito e barato”.

Para aqueles que desejam saber mais sobre esta biblioteca, aconselho a visita aos seguintes endereços eletrônicos:

https://www.vivaolinux.com.br/artigo/ExtJS-Um-excelente-framework-de-JavaScript