SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Discussão sobre adoção de suíte
       de componentes



                                Eder Magalhães
                                 eder@yaw.com.br
                               twitter.com/edermag

                       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



                                      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;


                                   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	
  




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



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

                                    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;



                                             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!

                               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

                                     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

                                          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;


                                       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

                                      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;



                                     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

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




                                             Globalcode	
  –	
  Open4education
ScrumToys: a cobaia!



!   Demo: RichFaces + PrimeFaces juntos!




                                   Globalcode	
  –	
  Open4education
Estratégia para aplicativos JSF


                    +	
        +	
         …	
  
          JavaServer	
  Faces	
  




                                       Model	
  
                Service	
  

             Persistence	
  



                                                   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/

                                                     Globalcode	
  –	
  Open4education
Follow
  @edburns
  @maxkatz
  @cagataycivici
  @kito99
  @jasondlee
  @richfaces
  @primefaces
  @jbossseam
  @icefaces

                   Globalcode	
  –	
  Open4education
Obrigado !

eder@yaw.com.br
   @edermag




              Globalcode	
  –	
  Open4education

Mais conteúdo relacionado

Mais procurados

JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
 
JavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasJavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasjesuinoPower
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Wennder Santos
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de TrabalhoEduardo Carvalho
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webMiguel Galves
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidCarlos Eugenio Torres
 
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User InterfaceDesenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User InterfaceDomingos Teruel
 
TDC 2008 JBoss Seam
TDC 2008 JBoss SeamTDC 2008 JBoss Seam
TDC 2008 JBoss SeamDr. Spock
 

Mais procurados (20)

JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Java web
Java webJava web
Java web
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
JavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasJavaFX 8, Collections e Lambdas
JavaFX 8, Collections e Lambdas
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Aula 1 1
Aula 1 1Aula 1 1
Aula 1 1
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Mobile Dev - Aplicativos
Mobile Dev - AplicativosMobile Dev - Aplicativos
Mobile Dev - Aplicativos
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de Trabalho
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
 
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User InterfaceDesenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
 
TDC 2008 JBoss Seam
TDC 2008 JBoss SeamTDC 2008 JBoss Seam
TDC 2008 JBoss Seam
 

Semelhante a JSF 2 Components JustJava2011

JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesEder Magalhães
 
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
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 
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
 
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
 
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
 
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA  TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA Rodrigo Cândido da Silva
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
TDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDITDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDIRodrigo Cândido da Silva
 
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
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Javaarmeniocardoso
 
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
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"Stefan Horochovec
 
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
 

Semelhante a JSF 2 Components JustJava2011 (20)

JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
TDC 2012 - JDF
TDC 2012 - JDFTDC 2012 - JDF
TDC 2012 - JDF
 
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!
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
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
 
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
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Spring Roo
Spring RooSpring Roo
Spring Roo
 
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
 
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA  TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
TDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDITDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDI
 
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
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Java
 
Introdução a jsf
Introdução a jsfIntrodução a jsf
Introdução a jsf
 
Dwrsecomp
DwrsecompDwrsecomp
Dwrsecomp
 
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
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"
 
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
 

Mais de 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
 
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
 
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
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafxEder Magalhães
 

Mais de Eder Magalhães (19)

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
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
 
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
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e Spring
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafx
 
Android SestInfo 2010
Android SestInfo 2010Android SestInfo 2010
Android SestInfo 2010
 
JavaFX SestInfo 2010
JavaFX SestInfo 2010JavaFX SestInfo 2010
JavaFX SestInfo 2010
 
Gwt-Guice_TDC2009
Gwt-Guice_TDC2009Gwt-Guice_TDC2009
Gwt-Guice_TDC2009
 

JSF 2 Components JustJava2011

  • 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
  • 4. 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   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
  • 15. !   MyFaces suporta JSF 2: !   Core JSF 2.0 – outra alternativa para Mojarra; !   Trinidad; !   Orchestra; !   Tomahawk; !   CODI – Extensions CDI Project; !   ExtVal – Extensions Validator; Globalcode  –  Open4education
  • 16. ScrumToys: a cobaia! !   Demo: RichFaces + PrimeFaces juntos! Globalcode  –  Open4education
  • 17. Estratégia para aplicativos JSF +   +   …   JavaServer  Faces   Model   Service   Persistence   Globalcode  –  Open4education
  • 18. 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/ Globalcode  –  Open4education
  • 19. Follow @edburns @maxkatz @cagataycivici @kito99 @jasondlee @richfaces @primefaces @jbossseam @icefaces Globalcode  –  Open4education
  • 20. Obrigado ! eder@yaw.com.br @edermag Globalcode  –  Open4education