O que esperar do JSF 2.0

O lançamento

Acaba de ser lançado a Reference Implementation (RI) Beta do JSF2.0. Com o nome de Mojarra, continuando com o mesmo nome da versão 1.2 da implementação da Sun,  a nova especificação está trazendo diversas melhorias e acertos em relação as versões anteriores, nesta versão realmente há muitas features interessantes e que alavancará a produtividade no desenvolvimento com JavaServer Faces.

As features

Entre as diversas features e melhorias, existem algumas que eu gostaria de destacar:

  • Um novo ciclo de vidas no lado cliente (browser), ou seja, agora será bem mais fácil integrar e criar componentes com frameworks e APIs javascript como ExtJS ou Yahoo API, quem sabe em breve não vejamos um Ext4JSF por aí? Além do mais será mais rápido e prático implementar interfaces do tipo “on a single page interface web application“, já que todo o processamento da interface gráfica ficará no lado cliente!
  • Escopos de conversação, finalmente!! Feature esta que realmente fazia (faz?) falta ao se desenvolver com JSF, atualmente somos obrigados a se utilizar de frameworks ou componentes como Myfaces Tomahawk, JBoss Seam, Spring Annotation entre outros.
  • Agora teremos “Zero Configuration“, ou seja, esqueça faces-config.xml, esqueça web.xml !! Provavelmente configuraremos tudo por annotations.
  • Outra feature necessária e que também fazia uma falta em tanto é a Exception Handler, agora depois de um erro lançado poderemos encaminhar o usuário para uma página de erro.
  • Annotations, e muitas annotations para declarar artefatos como managed bean, componentes, regras de navegação etc.
  • Suporte a templating, algo próximo no estilo do Facelets.
  • Suporte a submissão com método HTTP GET, ou seja, bookmarking.
  • Agora com AJAX nativo no ciclo de vida. A incompatibilidade entre os conjuntos de componentes será absurdamente menor, já que a falta de uma especificação AJAX para JSF era um dos maiores causadores de tanta incompatibilidade!
  • Acessar recursos JSF através de REST, wow!
  • Agora será possível executar uma ação (método?) ao carregar uma página.
  • Salvar e recuperar parcialmente estados da árvore de componentes (Isso vai trazer uma melhoria significativa à perfomance).

Como podem ver, são inúmeras melhorias significativas -na minha opiniao- para esta nova versão, e provavelmente surjam outras já que a especificação está ainda em rascunho. No site da JCP há as demais features e melhorias sobre esta versão.

Concluindo

Uma das maiores dúvidas em relação a esta versão é a tal da retrocompatibilidade, eu particularmente acredito que a versão 2.0 do JSF será compatível com as versões anteriores (ao menos com a JSF1.2) pois há o envolvimento de Big Players na especificação e encarar as versões anteriores como legados descontinuados é algo radical demais para o mercado, porém é quase que certo que será necessário abrir mão da compatibilidade em algum ponto para aproveitar os recursos da nova versão.

Enfim, JSF2.0 está vindo com tudo. Enquanto aguardamos a versão final já podemos brincar com a versão beta do Mojarra para JSF2.0.

Tagged with: , , , , , , , , , , , , , , , ,
Posted in Java, JavaScript, JEE, JSF, web
11 comments on “O que esperar do JSF 2.0
  1. Overkill says:

    Que noticia mais boa, vindo com compatibilidade tolal ao 1.2 que acredito que tera sim …. aos poucos é só ir explorando as invoações e atualizando as aplicações.

    mando bem Ponte.

  2. “esqueça web.xml”

    Sério? :)

    Espero que essa versão venha logo e facilite ainda mais a nossa vida no desenvolvimento de aplicações com JSF.

    Good post!

  3. André Faria says:

    “Agora teremos Zero Configuration”…
    Ufa… Estava mesmo na hora.
    Parabéns pelo post.
    Abraço

  4. Dirceu says:

    Sobre “Zero configuration” Não seria possível existir um ‘abuso’ em relação as annotations? Pois se as configurações não estão centradas em apenas um lugar seria muito difícil ‘gerenciá-las’. Com um monte de anotações pelo código não é fácil se perder no meio delas?

  5. Rafael Ponte says:

    Sinceramente não acho um problema, acho uma solução. Há certos tipos de configurações que realmente se faz necessário um arquivo xml para centralizar as informações, mas na maioria dos casos trabalhar com annotations e/ou por convenção é muito mais simples e prático.

    Muitos frameworks hoje em dia trabalham por convenção (Rails, VRaptor etc), então a centralização das informações está apenas implícita, mas existe. Já sobre as annotations é muito simples para se trabalhar com elas com JSF, principalmente ao se implementar algum managed bean, converter ou validator, se seus artefatos estiverem bem localizados e organizados não haverá problemas.

    Enfim, pode até assustar de inicio por termos vindo de um JEE mais xml, porém se olharmos com mais atenção só estaremos ganhando com tudo isso.

    Abraços.

  6. Gostei da feature zero configuration. Simples, como as coisas devem ser.

  7. Robson says:

    Cara vc tem noção de quando mais ou menos deve ser lançada esta nova versão?

  8. Olá Rafael, boa noite,

    Acredita que será possível manter a compatibilidade com a versão JSF 1.2 ?

    abraço,

  9. DSCunha says:

    Parabéns pelo post ! Espero mesmo é o Zero configuration, mesmo que algumas coisas terão que ser reescritas. Com o uso de annotations, vai agilizar o desenvolvimento.

  10. giordano says:

    quem utiliza tapestry 5 já utiliza o zero configuration há muito tempo…

  11. thiago leite says:

    Rafael, sabe dizer algum material sobre o escopo de conversação do JSF2. Como usar e tal. Estou procurando e não achei nada satisfatório ainda.

4 Pings/Trackbacks for "O que esperar do JSF 2.0"
  1. [...] Burns, outro palestrante internacional, líder da especificação do JSF 2.0, que também esteve no Brasil no TDC 2007, fez uma apresentação muito parecida com a que havia [...]

  2. [...] finalizar, o panorama do futuro do Java foi dado com base no Java EE 6, usando JSF 2.0, Web Beans e EJB 3.1. A especificação do Java EE 6 e as próximas serão cada vez mais [...]

  3. [...] finalizar, o panorama do futuro do Java foi dado com base no Java EE 6, usando JSF 2.0, Web Beans e EJB 3.1. A especificação do Java EE 6 e as próximas serão cada vez mais [...]

  4. [...] Redirect X Forward 5.Controlando Nomeação dos GUI 6.Controle do Estado – Cliente X Server 7.Esperando o JSF 2.0 8.10 Maus hábitos que devem ser evitados em [...]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>