O documento discute a adoção de suítes de componentes para JavaServer Faces (JSF). Apresenta as especificações e limitações do JSF e analisa as principais suítes de componentes como PrimeFaces, RichFaces e ICEfaces, discutindo suas funcionalidades e como elas estendem as capacidades do JSF. Recomenda uma estratégia de utilizar o JSF junto com essas suítes para desenvolver aplicativos.
1. Discussão sobre adoção de suíte
de componentes
Eder Magalhães
eder@yaw.com.br
twitter.com/edermag
Globalcode
–
Open4education
2. Agenda
! Sobre JavaServer Faces;
! Especificação;
! Limitações;
! Situação das suítes e extensões em relação a JSF2;
! Estratégia para aplicativos desenvolvidos com JSF;
! Links e twitters
Globalcode
–
Open4education
3. Sobre o JavaServer Faces
! Framework MVC Java baseado em UI Component;
! Templates e Composite Components (Facelets);
! Ajax Nativo;
! Configuração via anotações;
! Navegação implícita;
! Bookmarkable / Requisição GET;
! Várias opções de escopo;
! Suporte a Bean Validation;
Globalcode
–
Open4education
5. Relembrando: JSF 1.x
! Não suportava Ajax nativo;
! Gestão de escopo limitada;
! Sem suporte a GET;
! Customização de componentes UI relativamente
complexa;
! Configuração somente através de XML;
! Praticamente impossível desenvolver uma app
utilizando o JSF 1.x “puro”;
Globalcode
–
Open4education
6. Extensões / Suíte de Componentes
! Tornando o JSF uma opção mais interessante;
! Várias funcionalidades do JSF 2 surgiram de:
e muitos outros...
Globalcode
–
Open4education
7. JSF 2 versus Suíte de Componentes
! No JSF 2 ainda é necessário utilizar uma suíte?
! Algumas limitações da especificação:
! Componentes UI ainda são rústicos;
! Poucas opções de Componentes UI;
! Não define componente de tema/skin;
! Modelo de requisição Ajax é bem simples;
! Não disponibiliza tratamento nativo para Flow;
Globalcode
–
Open4education
8. E lá se foram 1 ano e 1/2...
Hoje, qual é a situação das Suítes de
Componentes e Extensões JSF?
http://www.jsfmatrix.net/
Renascido!
Globalcode
–
Open4education
9. ! PrimeFaces é a suíte mais “popular” para JSF 2;
! Pioneiro em JSF 2 (02/2010);
! + de 100 componentes;
! Adere ao Ajax nativo do JSF 2;
! Agrega funcionalidades ao fluxo Ajax do JSF;
! Instalação extremamente simples (um jar);
! Disponibiliza vários Temas (Skin) com a
possibilidade de customização;
versão atual: 2.2.1
Globalcode
–
Open4education
10. ! PrimeFaces é fácil de usar;
! Rápido;
! Comunidade de usuários crescente;
! Mobile TouchFaces;
! Utiliza JQuery;
! Roda no Google App Engine e Amazon EC2;
! Open Source e livre sob a licença Apache 2;
! Documentação é paga (9,90 Euros);
http://www.primefaces.org/showcase/ui/home.jsf
Globalcode
–
Open4education
11. ! RichFaces é a suíte mais famosa para JSF 1.*;
! Recentemente foi lançada a versão para JSF 2:
! 4.0.0 Final Release em 03/2011
! Projeto foi reconstruído para suportar JSF 2;
! Instalação simplificada;
! JavaScript através de JQuery;
! Suporte via JBoss Tools;
Globalcode
–
Open4education
12. ! RichFaces 4.0.0 disponibiliza:
! Componentes UI (a4j + rich + JavaScript API)
! Otimiza o fluxo Ajax nativo do JSF;
! Skins
! Bean Validation (JSR 303) no lado cliente;
! Push com integração em JMS;
! CDK – Component Development Kit;
! Roda no Google App Engine e no Amazon EC2;
http://richfaces-showcase.appspot.com
Globalcode
–
Open4education
13. ! Seam Faces 3.0.0 Snapshot
! Implementa o modelo CDI para JSF 2;
! @RenderScoped;
! Melhora a criação de Mensagens;
! Componentes UI;
! Propagação de eventos;
Globalcode
–
Open4education
14. ! ICEfaces 2.0.0 compátivel com JSF 2:
! Direct-to-Dom Rendering (D2D);
! Ajax Push
! Window Scope
! Implementa vários componentes UI;
! Versão Comercial para componentes classificados como
“Enterprise”;
! Disponibiliza uma API para JavaScript;
http://component-showcase.icefaces.org/component-showcase/
showcase.iface
Globalcode
–
Open4education