SlideShare uma empresa Scribd logo
JSF2 tirando proveito dos componentes:
  RichFaces / IceFaces / PrimeFaces

   Yara Senger          Eder Magalhães
   @yarasenger            @edermag


                             Globalcode – Open4education
Agenda

 Introdução ao JavaServer Faces
 Extensões de componentes JSF
 Novidades do RichFaces
 Um pouco mais sobre o PrimeFaces
 Uma visão do ICEFaces
 Links e Twitters




                                    Globalcode – Open4education
O que é o JSF
 Um dos principais frameworks Java p/ web;
 Desenvolvimento baseado em componentes UI;
 Permite criação e extensão de componentes;
 Implementa um modelo de eventos simulando um
 aplicativo Desktop;
 Adota o MVC encapsulando a infra-estrutura do
 ambiente web;
 Fácil de aprender e usar;
 Especificação Java EE;

                                   Globalcode – Open4education
Nada é perfeito, JSF 2!
 Suporte nativo a Ajax e Annotations;
 Templates baseado no Facelets;
 Criação de componentes UI através de xhtml;
 Navegação implícita;
 Melhorias no mecanismo de eventos;
 Evolução na gestão de recursos (contexto);
 Suporte a requisição via GET, Bookmarkable;
 Ufa, ainda tem mais...


                                     Globalcode – Open4education
Produtividade

 Extensão de componentes, um dos pontos mais
 fortes do JSF:
   RichFaces
   ICEfaces
   PrimeFaces
   MyFaces Tomahawk / Trinidad
   PrettyFaces
   Woodstock
   WebGalileo Faces


                                   Globalcode – Open4education
Aproveite é “Di Gratis”




                          Globalcode – Open4education
ScrumToys, oportunidade!
 Aplicação para gestão de Projetos, Sprints,
 Estórias e Tarefas;
 Implementa vários recursos do JSF;
 JSF 2, JPA, Maven, Glassfish, JavaDB;
 Open Source, criado e mantido pela comunidade
 brasileira;
 Projeto Referencia do Glassfish;
 Projeto Exemplo no Netbeans;
 Nossa “cobaia”;

                                    Globalcode – Open4education
RichFaces
 Versão: 4.0.0 M1;
 Melhora o controle de requisições Ajax do JSF 2;
 Performance otimizada client e server-side;
 Todo código JavaScript baseado em Jquery;
 Revisão e refactoring (html) em alguns
 componentes;
 Revisão simplificando o uso do CDK;
 Muitos componentes;


                                      Globalcode – Open4education
RichFaces e o render
  Valores aceitos no render conforme JSF2:
     @all @none @this @form, ids, coleção ou via EL


  Mais opções na renderização Ajax
<a4j:ajax render="tabelaId:@body" />

<rich:column>
  <a4j:commandButton render="@row" />
</rich:column>




                                            Globalcode – Open4education
RichFaces submit Ajax
  Granularidade no envio de dados por Ajax
<a4j:region>
  <h:output value="Nome" />
  <h:input id="itName" value="#{spMng.sprint.name}" />
  <h:output value="Objetivo" />
  <h:inputTextarea id="itGoals" value="#{spMng.sprint.goals}"/>
  <h:commandButton action="#{spMng.checkSprint}" >
       <a4j:ajax/>
  </h:commandButton>
<a4j:region>

<!--   <f:ajax execute="@this itName itGoals“ />       -->


                                                   Globalcode – Open4education
RichFaces e a JSR 303
   Validação também no client-side / JavaScript

<h:input id="itName" value="sprint.name">
  <rich:clientValidator />
</h:input>

<h:message for="itName" />




http://community.jboss.org/message/545862



                                            Globalcode – Open4education
Demo I



 RichFaces no ScrumToys!
     Um datatable com refresh ajax no @body da table;




                                +
                                          Globalcode – Open4education
PrimeFaces
 Versão 2.0.2 (production);
 + 90 componentes;
 Componentes leves, simples de usar;
 TouchFaces para mobile;
 Componentes para Ajax push;




                                       Globalcode – Open4education
PrimeFaces components
<p:dataTable
   var=“p" value="#{projectManager.projects}" paginator="true" rows="5">
   <p:column> ... </p:column>
</p:dataTable>

<p:carousel value="#{dashboardManager.stories}" var="story" rows="1">
   <h:panelGrid columns="1" cellpadding="5">
        <h:outputText value="Estoria: #{story.name}" />
   </h:panelGrid>
</p:carousel>



  E vários outros...
                                      http://www.primefaces.org/showcase/ui/home.jsf


                                                            Globalcode – Open4education
Demo II

 Agora PrimeFaces no ScrumToys.
     DataTable com paginação e sort
     BreadCrum p/ barra de navegação
     Carousel na tela de dashboard de tarefas



                                +
                                           Globalcode – Open4education
ICEfaces
 Versão: 2.0.0 Beta1;
 Compatível com JSF 2;
 Implementa um novo escopo: @WindowScope;
 Continua replicando a estrutura DOM no server-
 side;
 Implementa um API especifica para Push:
   icepush.jar




                                     Globalcode – Open4education
Demo III



 E pra fechar o ICEFaces!
     Um Chat no ScrumToys.




                             +
                                 Globalcode – Open4education
Alguns detalhes...

 Todas as tecnologias são Open Source;
 O mais maduro
   PrimeFaces
 Suporte ao Google App Engine:
   PrimeFaces
 PrimeFaces em constante evolução;
 RichFaces mais maduro que o ICEfaces;
 API paralela para o legado (JSF 1.2);


                                    Globalcode – Open4education
Links

 http://jboss.org/richfaces
 http://mkblog.exadel.com/tag/richfaces/
 http:///relation.to/14509.lace
 http://www.primefaces.org
 http://www.icefaces.org/pages/ICEfaces-2.0-roadmap-jsf-
 2.0-update.html
 http://wiki.icefaces.org/display/ICE/ICEfaces+2+Overview
 http://blog.globalcode.com.br/search/label/JSF



                                             Globalcode – Open4education
Follow
#JSF no twitter:
    @edburns
    @maxkatz
    @cagataycivici
    @kito99
    @jasondlee
    @richfaces
    @primefaces




                     Globalcode – Open4education
É isso!



             Obrigado 

yara@globalcode.com.br   eder@yaw.com.br
@yarasenger              @edermag


                             Globalcode – Open4education

Mais conteúdo relacionado

PDF
Spring + Tapestry Um novo paradigma de desenvolvimento web
PDF
Precisamos falar sobre Gradle
PPTX
Maven em 10 minutos
PDF
React Native - JSday
PDF
Spring Boot - Uma app do 0 a Web em 30 minutos
ODP
GlassFish e Maven: Java EE sem dor!
PDF
GlassFish, Maven, Cloud e Java EE
PDF
Introdução ao Flyway
Spring + Tapestry Um novo paradigma de desenvolvimento web
Precisamos falar sobre Gradle
Maven em 10 minutos
React Native - JSday
Spring Boot - Uma app do 0 a Web em 30 minutos
GlassFish e Maven: Java EE sem dor!
GlassFish, Maven, Cloud e Java EE
Introdução ao Flyway

Mais procurados (20)

PDF
Novidades do JSF: Um tour completo no JSF 2.2
PDF
JHipster - Produtividade e Maturidade em suas mãos
PDF
As grandes novidades do JSF 2.0!
PDF
Criando uma arquitetura para seus testes de API com RestAssured
PDF
GUJavaSC - Mini-curso Java EE
PDF
Spring boot
PDF
Apresentação maven
PPT
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
PPTX
Maven introdução Muito Rápida
PPTX
XML Free Programming - Brazil
PPTX
Java enterprise - testcontainers
PDF
Ecosistema spring a_plataforma_enterprise_jav
PPTX
Automatização de Infraestrutura com Jenkins
KEY
Introdução ao Spring Framework
PDF
React + Flux (Alt)
PDF
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
PDF
React Native na globo.com
PDF
Mean Stack
PDF
Java em 2021
PPTX
Grails
Novidades do JSF: Um tour completo no JSF 2.2
JHipster - Produtividade e Maturidade em suas mãos
As grandes novidades do JSF 2.0!
Criando uma arquitetura para seus testes de API com RestAssured
GUJavaSC - Mini-curso Java EE
Spring boot
Apresentação maven
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Maven introdução Muito Rápida
XML Free Programming - Brazil
Java enterprise - testcontainers
Ecosistema spring a_plataforma_enterprise_jav
Automatização de Infraestrutura com Jenkins
Introdução ao Spring Framework
React + Flux (Alt)
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
React Native na globo.com
Mean Stack
Java em 2021
Grails
Anúncio

Semelhante a JSF2 c/ PrimeFaces, RichFaces e ICEfaces (20)

PDF
JSF 2.0 e ScrumToys
PDF
Richfaces 4 - Desenvolvimento JSF mais rico
PDF
JSF 2.0 e ScrumToys
PDF
JSF 2 Components JustJava2011
PDF
JSF 2.0: Uma Evolução nas Interfaces Web com Java
PDF
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
PDF
Criando uma Aplicação Web com Spring Roo em 5 minutos!
ODP
JSF e outras tecnologias Java Web - IMES.java
PDF
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
PDF
JavaEE 7, na era do cloud computing
PDF
Analise frameworks php
PPTX
IoTizando com JavaScript
PPTX
ASP.NET vNext no .NET Architects Days 2014
PDF
Desenvolvimento RIA com GWT e Spring
PPT
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
PPT
Produtividade com JavaServer Faces
PDF
Aplicações 12 fatores, melhor com Docker
PDF
Java e uma visão sobre PaaS
PDF
Spring Roo
ODP
TDC 2014 SP - E o DeltaSpike ?
JSF 2.0 e ScrumToys
Richfaces 4 - Desenvolvimento JSF mais rico
JSF 2.0 e ScrumToys
JSF 2 Components JustJava2011
JSF 2.0: Uma Evolução nas Interfaces Web com Java
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
Criando uma Aplicação Web com Spring Roo em 5 minutos!
JSF e outras tecnologias Java Web - IMES.java
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
JavaEE 7, na era do cloud computing
Analise frameworks php
IoTizando com JavaScript
ASP.NET vNext no .NET Architects Days 2014
Desenvolvimento RIA com GWT e Spring
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Produtividade com JavaServer Faces
Aplicações 12 fatores, melhor com Docker
Java e uma visão sobre PaaS
Spring Roo
TDC 2014 SP - E o DeltaSpike ?
Anúncio

Mais de Eder Magalhães (20)

PDF
Cvc programacao reativa
PDF
Concorrencia, baixa Latência e alta disponibilidade
PDF
Java Is Back, Novidade do Java 8
PDF
Desenvolva uma app Java web em poucos passos, com o Forge
PDF
MongoDB outras alternativas de persistência
PDF
JDK8: Lambda, Jigsaw e novidades
PDF
Introdução a Plataforma Java EE
PDF
As modificações na Linguagem: Java 7 e Java 8
PDF
Desenvolvimento Produtivo com Spring Roo
PDF
Futuro da linguagem e plataforma: Java 7 e 8
PDF
Arquiteturas Java EE no Google App Engine
PDF
Java7 tdc2011
PDF
Introducao Spring ROO
PDF
Introducao Google GO
PDF
Introducao ao Spring Web MVC
PDF
JavaFX: Abordagem Prática
PDF
Profissao java gwt e javafx
PPTX
JSF2 ScrumToys SestInfo 2010
PPTX
Android SestInfo 2010
PPTX
JavaFX SestInfo 2010
Cvc programacao reativa
Concorrencia, baixa Latência e alta disponibilidade
Java Is Back, Novidade do Java 8
Desenvolva uma app Java web em poucos passos, com o Forge
MongoDB outras alternativas de persistência
JDK8: Lambda, Jigsaw e novidades
Introdução a Plataforma Java EE
As modificações na Linguagem: Java 7 e Java 8
Desenvolvimento Produtivo com Spring Roo
Futuro da linguagem e plataforma: Java 7 e 8
Arquiteturas Java EE no Google App Engine
Java7 tdc2011
Introducao Spring ROO
Introducao Google GO
Introducao ao Spring Web MVC
JavaFX: Abordagem Prática
Profissao java gwt e javafx
JSF2 ScrumToys SestInfo 2010
Android SestInfo 2010
JavaFX SestInfo 2010

Último (20)

PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Aula sobre banco de dados com firebase db
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula sobre banco de dados com firebase db
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Aula 18 - Manipulacao De Arquivos python
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Apple Pippin Uma breve introdução. - David Glotz
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Curso de Java 9 - (Threads) Multitarefas.pptx
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
COBITxITIL-Entenda as diferença em uso governança TI
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss

JSF2 c/ PrimeFaces, RichFaces e ICEfaces

  • 1. JSF2 tirando proveito dos componentes: RichFaces / IceFaces / PrimeFaces Yara Senger Eder Magalhães @yarasenger @edermag Globalcode – Open4education
  • 2. Agenda Introdução ao JavaServer Faces Extensões de componentes JSF Novidades do RichFaces Um pouco mais sobre o PrimeFaces Uma visão do ICEFaces Links e Twitters Globalcode – Open4education
  • 3. O que é o JSF Um dos principais frameworks Java p/ web; Desenvolvimento baseado em componentes UI; Permite criação e extensão de componentes; Implementa um modelo de eventos simulando um aplicativo Desktop; Adota o MVC encapsulando a infra-estrutura do ambiente web; Fácil de aprender e usar; Especificação Java EE; Globalcode – Open4education
  • 4. Nada é perfeito, JSF 2! Suporte nativo a Ajax e Annotations; Templates baseado no Facelets; Criação de componentes UI através de xhtml; Navegação implícita; Melhorias no mecanismo de eventos; Evolução na gestão de recursos (contexto); Suporte a requisição via GET, Bookmarkable; Ufa, ainda tem mais... Globalcode – Open4education
  • 5. Produtividade Extensão de componentes, um dos pontos mais fortes do JSF: RichFaces ICEfaces PrimeFaces MyFaces Tomahawk / Trinidad PrettyFaces Woodstock WebGalileo Faces Globalcode – Open4education
  • 6. Aproveite é “Di Gratis” Globalcode – Open4education
  • 7. ScrumToys, oportunidade! Aplicação para gestão de Projetos, Sprints, Estórias e Tarefas; Implementa vários recursos do JSF; JSF 2, JPA, Maven, Glassfish, JavaDB; Open Source, criado e mantido pela comunidade brasileira; Projeto Referencia do Glassfish; Projeto Exemplo no Netbeans; Nossa “cobaia”; Globalcode – Open4education
  • 8. RichFaces Versão: 4.0.0 M1; Melhora o controle de requisições Ajax do JSF 2; Performance otimizada client e server-side; Todo código JavaScript baseado em Jquery; Revisão e refactoring (html) em alguns componentes; Revisão simplificando o uso do CDK; Muitos componentes; Globalcode – Open4education
  • 9. RichFaces e o render Valores aceitos no render conforme JSF2: @all @none @this @form, ids, coleção ou via EL Mais opções na renderização Ajax <a4j:ajax render="tabelaId:@body" /> <rich:column> <a4j:commandButton render="@row" /> </rich:column> Globalcode – Open4education
  • 10. RichFaces submit Ajax Granularidade no envio de dados por Ajax <a4j:region> <h:output value="Nome" /> <h:input id="itName" value="#{spMng.sprint.name}" /> <h:output value="Objetivo" /> <h:inputTextarea id="itGoals" value="#{spMng.sprint.goals}"/> <h:commandButton action="#{spMng.checkSprint}" > <a4j:ajax/> </h:commandButton> <a4j:region> <!-- <f:ajax execute="@this itName itGoals“ /> --> Globalcode – Open4education
  • 11. RichFaces e a JSR 303 Validação também no client-side / JavaScript <h:input id="itName" value="sprint.name"> <rich:clientValidator /> </h:input> <h:message for="itName" /> http://community.jboss.org/message/545862 Globalcode – Open4education
  • 12. Demo I RichFaces no ScrumToys! Um datatable com refresh ajax no @body da table; + Globalcode – Open4education
  • 13. PrimeFaces Versão 2.0.2 (production); + 90 componentes; Componentes leves, simples de usar; TouchFaces para mobile; Componentes para Ajax push; Globalcode – Open4education
  • 14. PrimeFaces components <p:dataTable var=“p" value="#{projectManager.projects}" paginator="true" rows="5"> <p:column> ... </p:column> </p:dataTable> <p:carousel value="#{dashboardManager.stories}" var="story" rows="1"> <h:panelGrid columns="1" cellpadding="5"> <h:outputText value="Estoria: #{story.name}" /> </h:panelGrid> </p:carousel> E vários outros... http://www.primefaces.org/showcase/ui/home.jsf Globalcode – Open4education
  • 15. Demo II Agora PrimeFaces no ScrumToys. DataTable com paginação e sort BreadCrum p/ barra de navegação Carousel na tela de dashboard de tarefas + Globalcode – Open4education
  • 16. ICEfaces Versão: 2.0.0 Beta1; Compatível com JSF 2; Implementa um novo escopo: @WindowScope; Continua replicando a estrutura DOM no server- side; Implementa um API especifica para Push: icepush.jar Globalcode – Open4education
  • 17. Demo III E pra fechar o ICEFaces! Um Chat no ScrumToys. + Globalcode – Open4education
  • 18. Alguns detalhes... Todas as tecnologias são Open Source; O mais maduro PrimeFaces Suporte ao Google App Engine: PrimeFaces PrimeFaces em constante evolução; RichFaces mais maduro que o ICEfaces; API paralela para o legado (JSF 1.2); Globalcode – Open4education
  • 19. Links http://jboss.org/richfaces http://mkblog.exadel.com/tag/richfaces/ http:///relation.to/14509.lace http://www.primefaces.org http://www.icefaces.org/pages/ICEfaces-2.0-roadmap-jsf- 2.0-update.html http://wiki.icefaces.org/display/ICE/ICEfaces+2+Overview http://blog.globalcode.com.br/search/label/JSF Globalcode – Open4education
  • 20. Follow #JSF no twitter: @edburns @maxkatz @cagataycivici @kito99 @jasondlee @richfaces @primefaces Globalcode – Open4education
  • 21. É isso! Obrigado  yara@globalcode.com.br eder@yaw.com.br @yarasenger @edermag Globalcode – Open4education