22
4º Encontro Mensal do Gojava JavaServer Faces 2.0 Frederico Maia Filipe Portes

JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

Embed Size (px)

DESCRIPTION

Pequena apresentação sobre novidades do JSF 2 e Primefaces, criada para nos guiar no 4º Encontro Mensal do Gojava, realizado na Supera Tecnologia.

Citation preview

Page 1: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

4º Encontro Mensal do GojavaJavaServer Faces 2.0

Frederico MaiaFilipe Portes

Page 2: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

2

Apresentação

Filipe Portes

Page 3: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

3

Apresentação

Frederico Maia Arantes @fredmaia Programador Java EE - PC Sistemas

(Inovação) Instrutor Java - Supera Tecnologia Oracle Certified Professional, Java SE 6

(OCJP) Membro e entusiasta do Gojava e Gogtug Artigo publicado na Easy Java Magazine 6 Fundador do blog http://devsexperts.com

Page 4: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

4

Sopa de letrinhas

JEE 6 ? JSF 2 ? JPA 2 ? EJB 3.1 ? Servlets 3? CDI?

Page 5: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

5

O que abordaremos?

JavaServer Faces 2 e Primefaces no Java EE 6

Outros conceitos podem ser abordados em próximos encontros do Gojava.

Page 6: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

6

O que é o JSF?

JavaServer Faces (JSF) é uma especificação técnica do JCP com o objetivo de padronizar um framework para desenvolvimento da camada de apresentação em aplicações web;

Baseado no padrão MVC; Interfaces baseadas em componentes,

semelhante ao Swing;

Page 7: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

7

Vale a pena aprender JSF?

Especificação desde o Java EE 5; Comunidade ativa e muitos materiais de

estudo; Exige pouco conhecimento inicial para

construção de interfaces; Integração com JPA, EJB, Spring; Capacidades interativas com AJAX. Encapsula o HTML, CSS e Javascript;

Page 8: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

8

Chalenge acepted!

Page 9: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

9

JSF 1.x, 1.2

Complexidade para criação de componentes;

Não tem requisições GET apenas POST, URL’s nada amigáveis;

Não tem suporte a Ajax nativo, é necessário configuração para utilizar de terceiros;

Permite uso de JSP, scriptlets (código java na sua página web, coisa de 1990);

Configurações baseadas em XML;

Page 10: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

10

Novidades do JSF 2.0

Suporte nativo a Ajax e Annotations; Templates baseados no facelets; Componentes UI com xhtml; Navegação implícita e condicional; Melhorias no mecanismo de eventos; Suporte a requisição via GET, novos

escopos; Primefaces 2 e 3, Richfaces 4, IceFaces;

Page 11: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

11

Páginas no JSF 2.0

Declaração mais simples de páginas web; Suporte nativo a XHTML, recursos e AJAX; Mais eventos, facilitando ações como

inicialização de página, tratamento pré e pós-validação, inicialização de aplicação;

Suporte à instrução HTTP GET, permitindo usar páginas JSF como favoritos em navegadores;

Integração com a nova especificação Bean Validation, facilitando a validação de JavaBeans;

Page 12: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

12

XHTML no lugar do JSP

JSP era a tecnologia padrão de Java para Web, inclusive no JSF 1.x;

Vários conceitos de JSF não são suportados por JSP, e conceitos do JSP se tornam desnecessários para JSF. Um exemplo: a necessidade de tradução e compilação dos arquivos JSP.  Faz sentido para os JSPs, mas não para o JSF que apenas pretende representar uma árvore de componentes.

Page 13: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

13

Novas anotações

@ManagedBean @ManagedProperty @*Scoped (View, Session, Application,

etc) @FacesConverter @FacesComponent @FacesValidator

Page 14: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

14

Suporte a Ajax

Inspirado em ADF Faces, Richfaces, Icefaces;

Javascript ajax API; Suporte à tag <f:ajax>;

<h:commandButton id=“btnDeletar” action=“#{contatoBean.deletar}”>

<f:ajax update=“listaContatos />

</h:commandButton>

Page 15: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

15

FacesConfig não mais! (?)

O suporte a anotações faz com que na maioria das vezes não seja necessário ter o arquivo faces-config.xml.

Apenas para algumas exceções como message bundle;

Page 16: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

16

Componentização fácil!

Não é necessário mais ser um expert em JSF para criar componentes;

Page 17: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

17

Navegação

Bookmarkable Pages (GET); Novos componentes <h:link>,

<h:button>; Navegação implícita; Navegação condicional;

Page 18: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

18

JSF 2.0 na prática

Aplicação de Exemplo no NetBeans

Page 19: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

19

Primefaces

Mais de 100 componentes! Baseado no JQuery; Ajax nativo baseado no padrão do JSF 2.0; Leve, 1 JAR, nenhuma configuração e

nenhuma dependência; Componentes web para mobile (Iphone,

Android, Palm, BB...); Mais de 30 temas customizáveis; Suporte ao Google App Engine;

Page 20: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

20

Primefaces na prática

Vídeo do Primefaces e demonstrações http://www.primefaces.org/

Configurações e aplicação na prática

Page 21: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

21

Tudo entendido?

Page 22: JSF 2 e Primefaces - 4º Encontro Mensal do Gojava

22

Obrigado!

@gojava @SuperaTI

@filipeportes @fredmaia

http://gojava.org http://supera.com.br