Resumo sobre JavaServer Faces
JavaServer 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. FacesTrace – mó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
28/07/2009 às 14:09
Muito boa a coleção de links para componente!
parabens!
28/07/2009 às 18:31
Muito bom !
09/09/2009 às 15:23
[…] 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 […]
22/04/2010 às 12:33
[…] 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 […]
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?
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.
26/06/2014 às 11:47
[…] 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 […]
03/07/2014 às 11:04
[…] 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 […]