Ext JS - Ext JS

Ext JS JavaScript Framework
Extjs-desktop.jpg
Ext JS 2.0 Web Desktop
Versão estável
7.4.0 / 10 de maio de 2021 ( 2021-05-10 )
Modelo Biblioteca JavaScript
Licença Proprietário
Local na rede Internet www .sencha .com / products / extjs /

Ext JS é uma estrutura de aplicativo JavaScript puro para construir aplicativos da web interativos de plataforma cruzada usando técnicas como Ajax , DHTML e scripts DOM . Ele pode ser usado como uma estrutura de componente simples (para, por exemplo, criar grades dinâmicas em páginas estáticas), mas também como uma estrutura completa para construir aplicativos de página única .

Originalmente construído como uma extensão de biblioteca complementar de YUI por Jack Slocum em 15 de abril de 2007, começando com a versão 1.1, Ext JS não mantém dependências de bibliotecas externas, tornando seu uso opcional. Hoje em dia Ext JS pode ser usado como um único script (com todas as classes e componentes em um arquivo) ou construindo o aplicativo com Sencha Cmd.

Recursos

Controles GUI (componentes)

Ext JS inclui um conjunto de controles de formulário baseados em GUI (ou " widgets ") para uso em aplicativos da web:

Temas e kits de ferramentas

O Sencha também fornece alguns temas para definir o estilo dos componentes. Mudar um tema requer simplesmente mudar o CSS e um script do tema. Ao usar o Sencha CMD, uma reconstrução do aplicativo pode ser necessária.

Todos os componentes devem funcionar com cada tema, mas sua aparência e comportamento serão alterados. Por exemplo, o tema clássico tem pequenos elementos não adequados para dispositivos de toque. O Neptune Touch possui elementos maiores, mais adequados para tablets e telefones.

Ext JS vem em dois sabores chamados de kit de ferramentas clássico e moderno . Eles diferem não apenas com os temas disponíveis, mas também existem algumas diferenças de API entre eles. Portanto, não é tão fácil migrar de um kit de ferramentas para outro como é para temas. Existem planos para equilibrar algumas diferenças entre os kits de ferramentas em Ext JS 7.1, que está planejado para 2019.

Kit de ferramentas de programação

Ext JS é uma composição de classes que possui muitos recursos. Alguns exemplos:

  • uma camada abstrata para navegadores (por exemplo, Ext.isArrayque pode ser usada como um substituto para Array.isArray)
  • gestão estadual (lojas)
  • camada de comunicação do servidor (proxies e Ext.Ajax.request)
  • layout e gerenciamento de janela
  • gerenciamento de eventos (com criação simplificada de eventos personalizados para componentes personalizados)
  • roteamento

Sistema de aulas

Ext JS tem seu próprio sistema de classes. As classes são definidas com Ext.definee, em seguida, uma instância pode ser criada com Ext.create. Algumas classes (por exemplo, componentes e lojas) podem ter apelidos e podem ser criadas por um apelido. As instâncias de componentes são criadas automaticamente quando o componente pai é criado.

A classe pode estender classes personalizadas e internas. Normalmente, os componentes personalizados estenderiam os componentes integrados (por exemplo MyApp.views.ProductsTable, estenderiam os integrados Ext.grid.Panel).

Há um carregador dinâmico integrado para que as classes possam ter dependências dinâmicas (carregadas sob demanda). Existem dois tipos de dependências no ExtJS. Dependências declaradas com requirespropriedade são carregadas antes da instância da classe ser criada. As dependências definidas na usespropriedade podem ser carregadas após a criação da instância da classe.

Também é possível substituir classes. Mesmo classes integradas. Substituir classes integradas pode ser útil para, por exemplo, fornecer internacionalização ou criar patches. A classe substituída é mesclada com a nova declaração. Cada classe pode ser substituída quantas vezes forem necessárias (por exemplo, fornecendo i18n e, em seguida, l10n).

Histórico da versão Ext JS

Ext JS 2.0

Ext JS versão 2.0 foi lançado em 4 de dezembro de 2007. Esta versão foi promovida como fornecendo uma interface e recursos mais semelhantes aos tradicionalmente associados a aplicativos de desktop. Também foram promovidos a nova documentação do usuário, documentação da API e exemplos.

Ext JS 2.0 não oferece compatibilidade com versões anteriores da versão 1.1. Um guia de migração foi desenvolvido para resolver isso.

Ext JS 3.0

Ext JS versão 3.0 foi lançada em 6 de julho de 2009. Esta versão adicionou suporte de comunicação para REST e uma nova plataforma Ext.Direct do lado do servidor. Novos gráficos em flash e elementos ListView foram adicionados aos componentes de exibição padrão. Era compatível com versões anteriores do código da versão 2.0.

Ext JS 4.0

A versão 4.0 da estrutura Ext foi lançada em 26 de abril de 2011. Inclui uma estrutura de classe completamente revisada, um pacote de dados revisado, um pacote de animação e desenho que usa SVG e VML e gráficos e temas revisados. Ele também inclui uma arquitetura opcional que fornece um estilo de organização de código model – view – controller (MVC).

Ext JS 5.0

A versão 5.0 da estrutura Ext JS foi lançada em 2 de junho de 2014. Inclui a capacidade de construir aplicativos de desktop em dispositivos habilitados para toque - usando uma única base de código, uma arquitetura Model View ViewModel ( MVVM ), vinculação de dados bidirecional, layouts responsivos e outras atualizações de componentes com suporte para adicionar widgets dentro de uma célula de grade para visualização de dados e análise de big data. Ext JS 5 também inclui um pacote de gráficos otimizado para toque atualizado junto com recursos adicionais de gráficos financeiros.

Ext JS 5 oferece suporte a navegadores modernos e legados, incluindo: Safari 6+, Firefox, IE8 +, Chrome e Opera 12+. Na plataforma móvel, Ext JS 5 suporta Safari no iOS 6 e 7, Chrome no Android 4.1+ e dispositivos com tela de toque do Windows 8 (como Surface e laptops com tela de toque) executando o IE10 +.

Importante: a partir da versão Ext JS 5, você não pode comprar licença para menos de 5 desenvolvedores.

Ext JS 6.0

A versão 6.0 da estrutura Ext JS foi lançada em 1 de julho de 2015. Ela mescla a estrutura Sencha Touch (móvel) com Ext JS.

Ext JS 7.0

A versão 7.0 da estrutura Ext JS foi lançada em 29 de agosto de 2019. Ext JS 7.0 foi uma versão secundária. Vários componentes foram adicionados ao Modern Toolkit. O Classic Toolkit recebeu o tema Material Design .

Sencha

Em 15 de junho de 2010, a fusão de Ext JS com JQTouch e Raphaël foi anunciada formando uma nova organização chamada Sencha Inc. Ext JS continua disponível como um produto principal no novo site da Sencha junto com Sencha Touch , Sencha GWT (agora Sencha GXT), Sencha Architect, Sencha Animator e Ext core.

Em 23 de agosto de 2017, a Sencha foi adquirida pela IDERA (que por sua vez é proprietária da Embarcadero Technologies ). A Embarcadero é conhecida por aquisições de software de desenvolvimento rápido de aplicativos, como Delphi (que conta com Object Pascal como sua linguagem de programação primária).

Plug-in Sencha JetBrains

O plugin JetBrains do Sencha é uma ferramenta de Ambiente de Desenvolvimento Integrado que cria uma confluência entre o Sencha Frameworks e o software JetBrains. Essa integração vem na forma de autocompletar código , inspeção e sugestão, enquanto coopera com o comportamento nativo do JetBrains.

Ext.NET

Ext.NET é uma estrutura de componente ASP.NET que integra a biblioteca Ext, a versão atual (em setembro de 2017) é 4.4 que integra ExtJS versão 6.5.1.

Histórico de licença

YUI-Ext estava disponível sob a licença BSD . Em abril de 2008, a licença de código aberto associada ao Ext foi alterada. Na versão 2.0.2, os autores afirmaram que Ext estava disponível sob uma licença do tipo LGPL , contanto que você "planejasse usar Ext de uma maneira pessoal, educacional ou sem fins lucrativos" ou "em um projeto de código aberto que impede o uso de -open source software "ou" está usando Ext em um aplicativo comercial que não é uma biblioteca de desenvolvimento de software ou kit de ferramentas ". Este não era mais o caso com Ext 2.1. Os autores da Ext afirmam que a seção 7 da LGPL, conforme redigida, não se aplica às "condições" que sua licença exigida antes da distribuição sob a LGPL foi permitida, em oposição às "restrições adicionais" que a seção 7 permitia que um distribuidor removesse.

Em 20 de abril de 2008, Ext 2.1 foi lançado sob uma nova estrutura de licença dupla que permitia as opções da licença GPL 3.0 completa ou uma licença proprietária.

A mudança na licença ao longo do tempo, de uma licença permissiva de código aberto para uma licença dupla restritiva, causou polêmica na comunidade de usuários Ext.

A Sencha publicou detalhes sobre seus termos de licença comercial e GPL em seu site.

Em novembro de 2018, a Sencha anunciou sua Community Edition que é gratuita, mas restrita pela receita anual de uma pessoa ou empresa que usa ExtJS.

Veja também

Referências

Bibliografia

links externos