ExtJS 3.3 Lançada

Olá a todos,

A mais nova versão da excelente biblioteca ExtJS acaba de ser lançada.
Entre as novidades, vários componentes novos e diversas correções.

[quote]Ext JS 3.3 Final Released
October 11, 2010 by Ed Spencer

Following the successful betas and recent release candidate, we are proud to release Ext JS 3.3, the final major release on the 3.x line. Ext JS 3.3 brings new components, features and performance enhancements, all while maintaining the same robust API. Ext JS 3.3 is a drop-in replacement for Ext JS 3.2 ? most applications won?t require any changes.[/quote]
Fonte: http://www.sencha.com/blog/2010/10/11/ext-js-3-3-final-released/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+extblog+(Ext+JS+Blog)&utm_content=Google+Reader
Download: http://www.sencha.com/products/js/download.php
Documentação: http://sencha.com/deploy/dev/docs/

Sou suspeito em falar do ExtJS, mas vale a pena conferir :wink:

[]´s

Quanta coisa nova!! legal :smiley:

Gostaria de saber do pessoal que trabalha com o ExtJS quais os pontos fortes e fracos da biblioteca?

Um possível ponto fraco está relacionado à política de licenciamento: http://www.sencha.com/products/license.php.

Já trabalho há dois anos com ExtJS.
Para desenvolvimento web é realmente muito bom, dá pra implementar bem rápido, e também dá pra integrar com outras bibliotecas js, como jquery e outros.
A questão da licença é relativa, só se vc comercializar é que vc compra, e para empresas realmente não é um custo elevado, sem contar que vc recebe suporte na hora do time de desenvolvimento deles em caso de algum problema. Para fins educacionais, é totalmente free.

A biblioteca é boa tanto se você desenvolver a aplicação inteira em ExtJS, quanto se for apenas para acoplar um determinado componente numa DIV numa página web com algum design.

No meu blog tem alguns exemplos integrando com Spring e Hibernate, para quem quiser conferir: http://loiane.com :wink:

E essa versão 3.3 tem novos componentes que são bem legais.
Já já sai a versão 4, que será apresentada em Novembro, na Sencha Conference, em São Francisco.

Loiane,

E como fica a perfomance em aplicações maiores?
Tem alguns exemplos de aplicações utilizando o ExtJS? :roll:

[quote=RafaelViana]Loiane,

E como fica a perfomance em aplicações maiores?
Tem alguns exemplos de aplicações utilizando o ExtJS? :roll: [/quote]

Oi Rafael,

A ferramenta que reimplementei no meu mestrado foi feita totalmente com ExtJS (depois do login) e com alguns componentes que eu criei usando os recursos do ExtJS e outros com ExtJS + jQuery. Segue o link: http://lia.dc.ufscar.br/cognitorweb/
O Cognitor era feito em Swing e eu reimplementei (refiz do zero) como uma RIA, além de corrigir tonelas de bugs que existiam.

Infelizmente o Cognitor não tem um tutorial para aprender a usar, então talvez você não consiga mexer nela direito, mas eu espero que consiga!
Qualquer dúvida é só perguntar :wink:

[]´s

[quote=RafaelViana]Loiane,

E como fica a perfomance em aplicações maiores?
Tem alguns exemplos de aplicações utilizando o ExtJS? :roll: [/quote]

As aplicações que desenvolvemos são para muitos clientes acessarem (mais de 5k), e acesso paralelo também.
A performance é muito satisfatória.
Também carregamos muitos dados do server/banco de dados, às vezes exibimos quase 20k registros na tela, e a requisição não leva mais do que 2 segundos para completar.

ExtJS é javascript, o que faz com que o browser entenda automaticamente. Sem precisar de parser ou algo do tipo. É bem leve!

@davidbuzzato

É, não entendi direito como ele funciona rsrs mas está muito bem feito. No entanto, ele não funcionou no Chrome aqui :S

@Loiane

Legal as observações.

Pergunto isso, porque irei iniciar uma nova aplicação RIA e estou em busca de alternativas. Gostei muito dos componentes do ExtJS. Obrigado pela opinião de vocês.

Mas fiquei bem preocupado depois de ler esse post: :shock:
http://blogs.abril.com.br/javascript-extjs/2009/04/fim-sofrimento.html

As duas questões que talvez me complicariam no ExtJS:

*Realmente a curva de aprendizado é alta no ExtJS? Ou isso diminuiu com o ExtJS Designer?
*Compatibilidade entre browsers?

Oi Rafael,

1 - A curva de aprendizado não é alta não. Eu aprendi em menos de uma semana. Depois você consegue se nortear facilmente pelos docs da API.
2 - Quanto a compatibilidade, a minha aplicação tem alguns problemas de compatibilidade sim, mas não são problemas com o ExtJS, mas outras coisinhas dos bastidores (formato do JSON principalmente), justamente pq desenvolvi focado em só um browser por não ter tido tempo para testar em todos. Acredito que o Ext seja suportado na maioria dos browsers novos. Dê uma olhada no site para mais informações :wink:

[]´s

Olhando a app do david, não dá para negar que o visual do Ext é bonito pacas.Seria bacana se a api fosse “embutida” nos browsers(tipo um plugin).Os 500KB fazem diferença quando sua conexão “soluça”.Um amigo queria fazer uma app de CallCenter usando o Ext, mas não sei que fim levou.

Loiane, aonde vc põe o código do seu tutorial(O projeto)?

[quote=Ironlynx]Olhando a app do david, não dá para negar que o visual do Ext é bonito pacas.Seria bacana se a api fosse “embutida” nos browsers(tipo um plugin).Os 500KB fazem diferença quando sua conexão “soluça”.Um amigo queria fazer uma app de CallCenter usando o Ext, mas não sei que fim levou.

Loiane, aonde vc põe o código do seu tutorial(O projeto)? [/quote]

ExtJS é bem fácil de aprender. Na página deles tem uma página com exemplos de todos os componentes, só copiar, colar e modificar o que vc precisa. Se for um componente não trivial, pode procurar no forum vários componentes prontos feitos pela comunidade (que eventualmente farão parte das versões futuras) e plugins também.
ExtJS é Orientado a Objeto, se souber isso, fácil fácil.

Eu coloco os códigos no github. Em cada tutorial no meu blog, disponibilizo no final o link do projeto completo. No github tem a opção de fazer download do projeto como zip, aí é só importar pro Eclipse e tá pronto!

Loiane, vejo que em alguns dos seus exemplos vc usa o ext com spring mvc. Nunca usei este framework, ele facilita a integração das tecnologias? tenho utilizado o Ext com Vraptor, e os resultados nunca foram muito bons, sempre tenho um overhead enorme devido a utilização do ext.

[quote=mario.fts]Loiane, vejo que em alguns dos seus exemplos vc usa o ext com spring mvc. Nunca usei este framework, ele facilita a integração das tecnologias? tenho utilizado o Ext com Vraptor, e os resultados nunca foram muito bons, sempre tenho um overhead enorme devido a utilização do ext.

[/quote]

Uso Spring porque tem um suporte muito bom pra retornar JSON ou XML (e tb porque é o framework que usamos aqui no trampo). Gosto bastante e tem uma performance muito boa, para buscar dados no server e enviar dados para o server.

Não tenho experiência com Vraptor, então não posso comparar os dois frameworks, mas sei que o VRaptor tb tem suporte a retornar JSON.

Integrar ExtJS com qualquer outro framework depende apenas do suporte do framework a retornar para a view um objeto no format JSON ou XML. Mas se não tiver vc tb pode criar um.

Sei que Spring, Struts, Vraptor tem esse suporte. Fica fácil também para trabalhar com asp/.net e rails. Só procurar na net que acha um monte de exemplos.

Sim, o vraptor tem suporte, mas é necessário realizar uma conversão, já que o formato do json padrão do vraptor é diferente do ext. Além disso, ainda tem o problema de perder o redirecionamento do lado do servidor, o que é muito ruim na minha opinião. A pergunta foi só pra ver se o própio spring mvc tinha algum conversor q já transformava o objeto diretamente no json esperado pelo ext.

[]'s

Muito boa noticia !!!

ExtJs é muito bom, mechi em uma versão anterior achei muito bom.

[quote=davidbuzatto]Loiane,
A ferramenta que reimplementei no meu mestrado foi feita totalmente com ExtJS (depois do login) e com alguns componentes que eu criei usando os recursos do ExtJS e outros com ExtJS + jQuery. Segue o link: http://lia.dc.ufscar.br/cognitorweb/
O Cognitor era feito em Swing e eu reimplementei (refiz do zero) como uma RIA, além de corrigir tonelas de bugs que existiam.
[]´s[/quote]

Gostei muito do visual da ferramenta, mostra bem o que é possível de se fazer com Extjs.
Porém como já disseram não funciona no Crome. Caso ainda esteje trabalhando nela vale a pena compatibilizar com o Chrome, pois o desempenho do ExtJs (javascript) no Chrome e MUITO superior ao IE + FF juntos (rs).

Pontos fortes:

  • Biblioteca esta em constante evolução, com uma comunidade de desenvolvedores bem ativa.
  • Boa documentação
  • Bom suporte, tanto pago, como não pago através de fóruns especializados.
  • Flexível. Podemos extenter os objetos já existentes da biblioteca acrescentando novas funcionalidades. Existem vários “plugins” de terceiros prontos extendendo componentes padrões do ExtJs.
  • Pode ser integrado com as principais bibliotecas javascript do mercado como jQuery, Prototype, YUI.
  • Ferramenta (paga) drag-and-drop (Ext Designer) para construir interfaces.

Ponto Fracos:

  • Algumas incompatibilidades com browsers antigos. Quando digo Browsers antigos digo IE6, FF1.5 FF2.0. Eu mesmo nem considero mais estes browsers.

  • Tamanho da biblioteca. Aproximadamente 800kb (completa). Porém você pode customizar a biblioteca apenas com os compomentes que você irá utilizar, reduzindo o tamanho dos arquivos. Em versões anteriores 2.3 no próprio site do ExtJs você pode baixar o ExtJs customizado. (http://www.sencha.com/products/js/build/). Obs. Utilize versão 3.2 ou superior.

  • Como é uma biblioteca javascript, dificuldades para debugar. Não é um ponto fraco especificamente do ExtJs mas sim da tecnologia.

[quote=RafaelViana]
E como fica a perfomance em aplicações maiores? [/quote]

Tenho aplicações ExtJS com centenas de funcionalidades com performance 100% satisfatória.
Claro que existem boas práticas/técnicas que devem ser aplicadas dependendo da quantidade de dados apresentados na tela, tamanho do sistema, etc. Exemplo: baixar fontes js sob demanda (em alguns casos).

Abaixo uns artigos sobre o tema.

http://blog.extjs.eu/know-how/writing-a-big-application-in-ext/
http://blog.extjs.eu/know-how/writing-a-big-application-in-ext-part-2/
http://blog.extjs.eu/know-how/writing-a-big-application-in-ext-part-3/

Abaixo uma aplicação Web Desktop com ExtJS.
Lembre-se que esta é apenas uma forma de se construir uma aplicação ExtJs assim como a aplicação que o davidbuzatto postou como exemplo é outra forma. Outra forma é uma simples página HTML com componentes ExtJS inseridos nesta página.

http://qwikioffice.com/
http://qwikioffice.com/desktop-demo/login.html

Não levaria muito em conta a opinião deste cidadão. Creio que ele teve uma experiência ruim com ExtJs talvez por falta de conhecimento e experiência com ExtJs. Trocar ExtJS por HTML + JQuery é no mínimo um retrocesso no que se refere a tecnologia para Web. Nada contra HTML + JQuery em alguns casos são a melhor opção mesmo, talvez seja o caso dele.

Se classificarmos como baixa média e alta. EU diria que a curva de aprendizagem é média. Considerando que você é um desenvolvedor Web e conhece muito bem javascript.

ExtJS Designer é apenas uma ferramenta de auxilio para ganho de produtividade (principalmente para construir formulários).

[quote=RafaelViana]
*Compatibilidade entre browsers?[/quote]
[/quote]Com browsers modernos é 100% compatível.