jsf 2 components justjava2011

20
Eder Magalhães [email protected] twitter.com/edermag Discussão sobre adoção de suíte de componentes

Upload: eder-magalhaes

Post on 21-Jun-2015

2.172 views

Category:

Technology


1 download

DESCRIPTION

Apresentação do JustJava2011 sobre suítes de componentes para JavaServer Faces2

TRANSCRIPT

Page 1: JSF 2 Components JustJava2011

Globalcode  –  Open4education

Eder Magalhães [email protected]

twitter.com/edermag

Discussão sobre adoção de suíte de componentes

Page 2: JSF 2 Components JustJava2011

Globalcode  –  Open4education

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

Page 3: JSF 2 Components JustJava2011

Globalcode  –  Open4education

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;

Page 4: JSF 2 Components JustJava2011

Globalcode  –  Open4education

Especificação

JavaServer  Faces   Java  EE   Quando  JSF  1.2  –  JSR  127   5.0   05/2001  JSF  2.1  –  JSR  314   6.0   06/2007  JSF  2.2  –  JSR  344   6.0   03/2011  

Page 5: JSF 2 Components JustJava2011

Globalcode  –  Open4education

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”;

Page 6: JSF 2 Components JustJava2011

Globalcode  –  Open4education

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...

Page 7: JSF 2 Components JustJava2011

Globalcode  –  Open4education

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;

Page 8: JSF 2 Components JustJava2011

Globalcode  –  Open4education

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!

Page 9: JSF 2 Components JustJava2011

Globalcode  –  Open4education

!   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

Page 10: JSF 2 Components JustJava2011

Globalcode  –  Open4education

!   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

Page 11: JSF 2 Components JustJava2011

Globalcode  –  Open4education

!   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;

Page 12: JSF 2 Components JustJava2011

Globalcode  –  Open4education

!   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

Page 13: JSF 2 Components JustJava2011

Globalcode  –  Open4education

!   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;

Page 14: JSF 2 Components JustJava2011

Globalcode  –  Open4education

!   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

Page 15: JSF 2 Components JustJava2011

Globalcode  –  Open4education

!   MyFaces suporta JSF 2: !   Core JSF 2.0 – outra alternativa para Mojarra; !   Trinidad; !   Orchestra; !   Tomahawk; !   CODI – Extensions CDI Project; !   ExtVal – Extensions Validator;

Page 16: JSF 2 Components JustJava2011

Globalcode  –  Open4education

ScrumToys: a cobaia!

!  Demo: RichFaces + PrimeFaces juntos!

Page 17: JSF 2 Components JustJava2011

Globalcode  –  Open4education

JavaServer  Faces  

Service  

Persistence  

Model  

Estratégia para aplicativos JSF

+   +   …  

Page 18: JSF 2 Components JustJava2011

Globalcode  –  Open4education

Algumas referências !   http://jcp.org/en/jsr/detail?id=344 !   http://www.primefaces.org/ !   http://cagataycivici.wordpress.com/ !   http://www.jboss.org/richfaces !   http://in.relation.to/Bloggers/GettingStartedWithRichFaces40Push !   http://docs.jboss.org/richfaces/latest_4_0_X/Developer_Guide/en-US/html/ !   http://seamframework.org/Seam3/FacesModule !   http://docs.jboss.org/seam/3/faces/latest/reference/en-US/html/pr01.html !   http://wiki.icefaces.org/display/ICE/ICEfaces+2+Features !   http://myfaces.apache.org/index.html !   http://blog.globalcode.com.br/search/label/JSF !   http://mkblog.exadel.com/

Page 19: JSF 2 Components JustJava2011

Globalcode  –  Open4education

Follow @edburns @maxkatz @cagataycivici @kito99 @jasondlee @richfaces @primefaces @jbossseam @icefaces

Page 20: JSF 2 Components JustJava2011

Globalcode  –  Open4education

Obrigado !

[email protected] @edermag