JavaServer Faces
JavaServer Faces é um framework MVC para o desenvolvimento de aplicações Web, que permite o desenvolvimento de aplicações para a internet de forma visual, ou seja, arrastando e soltando os componentes na tela (JSP), definindo propriedades dos mesmos.
O JavaServer Faces teve sua expressão na versão 1.1 quando implementado pela comunidade utilizando a especificação 127 [1] do Java Community Process [2], evidenciando maturidade e segurança.
Hoje ele está na versão 2.0 da especificação 252 [3] do JCP. A fundação Apache vem realizando esforços na implementação da especificação através do projeto MyFaces. O reconhecimento do trabalho é visto por diversas empresas, tanto é que a Oracle doou os fontes do ADF Faces, conjunto de mais de 100 componentes JSF, para o projeto MyFaces que o denominará de Trinidad.
O JSF é atualmente considerado pela comunidade Java como a última palavra em termos de desenvolvimento de aplicações Web utilizando Java, resultado da experiência e maturidade adquiridas com o JSP/Servlet (Model1), Model2 (MVC) e Struts.
Índice |
[editar] Características
- Permite que o desenvolvedor crie UIs através de um conjunto de componentes UIs pré-definidos;
- Fornece um conjunto de tags JSP para acessar os componentes;
- Reutiliza componentes da página;
- Associa os eventos do lado cliente com os manipuladores dos eventos do lado do servidor (os componentes de entrada possuem um valor local representando o estado no lado servidor);
- Fornece separação de funções que envolvem a construção de aplicações Web.
- Utiliza Ajax em alguns de seus componentes tornando alguns processos mais rápidos e eficientes.
[editar] Recursos visuais
O framework JSF permite a inserção, via IDE, de:
- Folhas de estilo (CSS);
- Comandos em Java Script;
- Metodologia Ajax.
[editar] Desvantagens
- A execução da aplicação se da quase que totalmente no lado servidor, salvo bibliotecas de componentes mais recentes implementadas usando Ajax;
- O particionamento do código da aplicação entre cliente e servidor é fixo;
[editar] JSF inclui
- Suporte a internacionalização e acessibilidade;
- Um conjunto padrão de componentes de interface de usuário que possibilitam validação padronizada;
- Duas bibliotecas de etiqueta ("tag libraries") especiais do JavaServer Pages (JSP) para expressar a interface do JavaServer Faces dentro de uma página JSP;
- Um modelo de eventos do lado servidor ("server-side event model");
- Gerência de estados;
- Managed Beans (JavaBeans criados com injeção de dependência ("dependency injection"));
- Linguagem de Expressão Unificada ("Unified Expression Language") para JSP 2.0 e JSF 1.2.
[editar] Ferramentas de desenvolvimento
- Java Studio Creator
- JBuilder
- JDeveloper
- MyEclipse
- Netbeans
- Rational Application Developer for WebSphere Software
- Red Hat Developer Studio
- Eclipse
[editar] Ligações externas
- Página JSF da Sun
- JSFcentral
- JSFtutorials
- JSF Tutorial
- JSP Tutorial
- JSF FAQ
- Projeto Apache MyFaces
- Grupo de discussão brasileiro sobre JSF
- fonte aberta sobre Icefaces.
- Entendendo JavaServer Faces
- Tutorial básico de JSF.
- Grupo Brasileiro de JSF.
Referências
[editar] Bibliografia
- LUCKOW, Décio Heinzelmann; MELO, Alexandre Altair de. Programação Java para a Web: Aprenda a desenvolver uma aplicação financeira pessoal com as ferramentas mais modernas da plataforma Java. 1 ed. São Paulo: Novatec, 2010. 640 p. ISBN 978-85-7522-238-6