Resumo sobre JavaServer Faces

Postado em Atualizado em

111-lookandfeelJavaServer Faces é uma de especificação JEE que padroniza um framework MVC voltado para o desenvolvimento de aplicações Web. O seu surgimento foi um acontecimento natural da evolução do modelo de desenvolvimento de aplicativos web utilizando durante os últimos anos utilizando a especificação dos Servlet e JSP. A grande vantagem prometida através do JSF é que a especificação seria utilizada como referência para propiciar o venerado “ambiente de desenvolvimento rápido” tanto a camada visão como no lado do servidor. A partir dela, as empresas responsáveis por fornecer IDE poderiam então ter um padrão sólido e bem definido para construir ferramentas nos estilos RAD como Delphi e Visual Basic voltadas especificamente para aplicativos web com java. O JSF teve sua expressão na versão 1.1 quando implementado pela comunidade do Java Community Process – JCP, evidenciando maturidade e segurança. A versão atual é a 1.2 e já temos a previsão da versão 2.0 com inúmeras melhorias. Atualmente JSF é considerado por muitos como a última palavra em termos de desenvolvimento de aplicações web com java, resultado da experiência e maturidade adquiridas ao longo de sua evolução. Segue um resumo da especificação:

Características básicas:

* Arquitetura MVC padronizando a separação/funções que envolvem a construção de aplicações web.
* Permite que o desenvolvedor crie UIs através de um conjunto de componentes UIs pré-definidos;
* Modelo de programação dirigido através de eventos entre as camadas de visão e o servidor.
* Modelo de componentes que permita desenvolvedores/empresas independentes fornecerem componentes adicionais entre si de forma padronizada e reutilizável.
* Validação e conversão de dados.
* Internacionalização
* Manipulação de erros.

Para aqueles de que desejam aprender e entrar no mundo do desenvolvimento JSF, segue abaixo as principais referencias de livros sobre o assunto:

1. Core JavaServer Faces – Livro com conteúdo básico e fundamental indicado para aqueles que estão começando na tecnologia. O livro é muito bem estruturado, apresentando cronologicamente fundamentos, conceitos e recursos oferecidos pela tecnologia.

2. Mastering JavaServer Faces – Ótimo livro com conteúdo básico e fundamental e muito focado nas filosofia MVC com os conceitos que suportam a existência da tecnologia. Da mesma forma que o Core JSF, muito bem estruturado, apresentando todas as opções disponíveis na tecnologia e alguns exemplos de aplicações reais e um ótimo exemplo de conversão de aplicativos feitos em Struts 1.x em JSF.

3. JavaServer Faces in Action – Este livro foge um pouco da proposta padronizada pelas series “In Action” que sempre foi conhecido por ter livros de referências de projetos, sendo que na maioria dos casos não é recomendado para iniciantes. Este livro no entanto, pode ser usado por aqueles que não possuem nenhum conhecimento do assunto, sendo que o mesmo traz um ótima introdução e overview da tecnologia suficiente para que mais tarde o leitor possa se aprofundar no conteúdo do com facilidade. Atualmente é uma das principais referências do assunto.

Algo muito importante lembrar que a tecnologia JSF foi concebida sobre outras especificação JEE dos componentes denominados Servlets e JSP. Isso significa que: antes de se aprofundar no JSF é recomendável que o candidato tenha uma breve noção de servlets, jsp e suas vertentes. Para aqueles que não possuem essa base, eu recomendo o livro Use a cabeça Servlet e JSP que contempla  o conteúdo com altíssima qualidade.

E para aqueles que começarem a utilizar, segue um resumo básico das implementações, kit de componentes visuais/não-visuais existentes na atualidade:

Implementações:
Myfaces – Implementação da Apache Software Fundation.
Mojarra – Implementação da Sun Microsystem (RI)
ADF – Implementação da Oracle.
ICEFaces – Não é exatamente uma implementação, sendo uma extensão sobre alguma implementação alterando o comportamento padrão da mesma. Também possui vários componentes visuais.
Shale – Framework Web baseado em JSF com algumas mudanças.

Kit Componentes:
Apache Tomahawk – Componentes da Apache Software Fundation.
JBoss Ajax4JSF – Componentes que acrescentam funcionalidades AJAX nos componentes padrão da especificação implementado pela JBoss.
JBoss RichFaces – Excelentes componentes da JBoss  (Mais usados atualmente).
Yahoo for JSF – Componentes visuais diversos da Yahoo.
DynaFaces – Componentes que acrescentam funcionalidades AJAX nos componentes padrão da especificação implementado pela da SUN.
Jenia Faces – Vários componentes diferenciados.
Web Galileo Faces – Vários componentes diferenciados.
Mojarra UI – A implementação da SUN tem vários componentes extras interessantes.
RestFaces – Componente que acrescenta funcionalidade de utilizar JSF com envio do submite com HTTP GET e seus detalhes.
GMaps4JSF – Componentes da Google integrando o GoogleMaps com o modelo de JSF.
O melhor de tudo é que vc pode usar todos no mesmo projeto, muito embora não seje necessário.
PrimeFaces – kit de componentes visuais para especificação do JSF. Ele esta dividido em 3 módulos básicos:
1. Componentes UI – módulo com componentes RIA. Baseado no Yahoo UI Library, controlando todo a geração pesado de JavaScript e amarrações com o lado do servidor.
2. Optimus – módulo que providencia uma serie de facilidades em soluções para JSF. Ele remove a grande sobrecarga de manipulação de arquivos XML, providenciando anotações baseados em container IOC Guice Framework.
3. FacesTracemódulo com o objetivo de ser utilizado como apoio de desenvolvimento.
Woodstock é mais uma opção de kit de componentes visuais GUI para aplicativos web baseados em funcionalidades AJAX.
OpenFaces é mais um kit de componentes JSF open-source baseados em AJAX com uma série de recursos interessantes que podem ser usados em aplicativos web.
JSF Sourceforge.net – diversos componentes visuais e não-visuais disponíveis para JSF. ChartCreator, acegi-jsf, client-validators, excel-creator, htmpainel, on-load etc…

Para qualquer dúvidas ou ajuda de qualquer coisa relacionado com JSF, existe um grupo brasileiro que pode ser acessado por http://groups.google.com/group/javasf que contem inúmeras pessoas e fóruns disponíveis a dar todo o auxilio possível.

“Quem semeia entre lágrimas colherá com alegria.” Salmo 126:5

8 comentários em “Resumo sobre JavaServer Faces

    Anderson Carubelli disse:
    28/07/2009 às 14:09

    Muito boa a coleção de links para componente!

    parabens!

    Romulo F.F. disse:
    28/07/2009 às 18:31

    Muito bom !

    […] Phase Listener – Para as aplicações escritas em JavaServer Faces, além da opção de usar servlets filters, estas podem se utilizar de um recurso especifico do JSF […]

    […] as aplicações escritas em JavaServer Faces, além da opção de usar servlets filters, estas podem se utilizar de um recurso especifico do JSF […]

    Kauan Mocelin disse:
    18/12/2011 às 15:48

    Ótimo post com boas referẽncias =D
    Só fiquei com dúvida na parte que fala sobre implementação, como eu faço pra saber qual implementação estou usando? NoF caso uso Netbeans e só instalei o plugin do JSF. As diversas implementações citadas tem diferença?

      Fernando Franzini respondido:
      19/12/2011 às 07:53

      Vc precisa ver na documentação do netbeans qual é o provedor que vem configurado lá. Eu realmente não sei pq não uso netbeans. Tem muito diferença sim, algumas são melhores, mais rápidas, gatando menos memoria e RI. Outras não.

    […] as aplicações escritas em JavaServer Faces, além da opção de usar servlets filters, estas podem se utilizar de um recurso especifico do JSF […]

    […] as aplicações escritas em JavaServer Faces, além da opção de usar servlets filters, estas podem se utilizar de um recurso especifico do JSF […]

Deixe um comentário