SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!Diego Santos
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredElias Nogueira
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação mavenAndré Justi
 
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Renato Groff
 
XML Free Programming - Brazil
XML Free Programming - BrazilXML Free Programming - Brazil
XML Free Programming - BrazilStephen Chin
 
Java enterprise - testcontainers
Java enterprise - testcontainersJava enterprise - testcontainers
Java enterprise - testcontainersSandro Giacomozzi
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javJulio Viegas
 
Automatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com JenkinsAutomatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com JenkinsFelipe Santos
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring FrameworkNatanael Fonseca
 
React + Flux (Alt)
React + Flux (Alt)React + Flux (Alt)
React + Flux (Alt)Cezar Luiz
 
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.Sergio Lima
 

Was ist angesagt? (20)

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

Ähnlich wie JSF2 c/ PrimeFaces, RichFaces e ICEfaces

JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaDr. Spock
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Dr. Spock
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaEduardo Bregaida
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingEder Magalhães
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
IoTizando com JavaScript
IoTizando com JavaScriptIoTizando com JavaScript
IoTizando com JavaScriptHeider Lopes
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringEder Magalhães
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerWellington Silva
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaSEder Magalhães
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?Rafael Benevides
 

Ähnlich wie JSF2 c/ PrimeFaces, RichFaces e ICEfaces (20)

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

Mehr von Eder Magalhães

Concorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeConcorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeEder Magalhães
 
Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Eder Magalhães
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeEder Magalhães
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaEder Magalhães
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesEder Magalhães
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder Magalhães
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8Eder Magalhães
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooEder Magalhães
 
Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Eder Magalhães
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineEder Magalhães
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem PráticaEder Magalhães
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafxEder Magalhães
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 

Mehr von Eder Magalhães (20)

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

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