JavaServer Faces
| JavaServer Faces | |
|---|---|
| Versão estável | 2.1.13 (Mojarra Reference Implementation) (13 de junho de 2013) |
| Escrito em | Java |
| Gênero(s) | Framework de aplicação web |
| Página oficial | javaserverfaces.java.net |
| Portal das Tecnologias de informação | |
JavaServer Faces (JSF) é um framework MVC baseado em Java para a construção de interfaces de usuário baseadas em componentes para aplicações web. Ela foi formalizada como um padrão através do Java Community Process e faz parte da Java Platform, Enterprise Edition.
JSF 2 utiliza Facelets como seu sistema de template padrão. Outras tecnologias da camada de visão, como XUL também podem ser empregadas. Em contraste, JSF 1.x utiliza JavaServer Pages (JSP) como seu sistema de template padrão.
Índice |
Histórico[editar]
O JavaServer Faces ganhou 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.
Versões da JSF[editar]
- JSF 2.2 (16/04/2013) - JSF 2.2 introduziu novos conceitos como visões sem estado, o fluxo de página e a capacidade de criar contratos de recursos portáteis.4
- JSF 2.1 (22/10/2010) - Versão de correção da versão 2.0. Apenas uma quantidade muito menor de mudanças de especificação.5 6
- JSF 2.0 (28/06/2009) - Maior versão para facilidade de uso, funcionalidade melhorada e desempenho. Coincide com Java EE 6.
- JSF 1.2 (11/05/2006) - Muitas melhorias nos sistemas centrais e API. Coincide com Java EE 5. Adoção inicial em Java EE.
- JSF 1.1 (27/05/2004) - Versão de correção de bugs. Não há mudanças de especificação.
- JSF 1.0 (11/03/2004) - Especificação inicial liberada.
Como ela trabalha[editar]
JavaServer Faces é baseada em um modelo de desenho de IU (interface de usuário) baseada em componentes, usando arquivos XML chamados de modelos de visão ou Facelets views. Os pedidos são processados pelo FacesServlet, que carrega o modelo de visão adequado, constrói uma árvore de componentes, processa os eventos e apresenta a resposta, normalmente na linguagem HTML, para o cliente. O estado de componentes de interface do usuário e outros objetos de interesse de escopo, é salvo no final de cada pedido em um processo chamado stateSaving (nota: transiente true) e restaurado na próxima criação desta visão. Objetos e estados podem ser salvos ou no cliente ou no servidor.
Características[editar]
- 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.
Recursos visuais[editar]
O framework JSF permite a inserção, via IDE, de:
- Folhas de estilo (CSS);
- Comandos em JavaScript;
- Metodologia Ajax.
JSF inclui[editar]
- 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;
- Linguagem de Expressão Unificada ("Unified Expression Language") para JSP 2.0 e JSF 1.2.
Ferramentas de desenvolvimento[editar]
- Eclipse
- Java Studio Creator
- JBuilder
- JDeveloper
- MyEclipse
- NetBeans
- Rational Application Developer for WebSphere Software
- Red Hat Developer Studio
Referências
- ↑ Java127
- ↑ JCP
- ↑ Java252
- ↑ http://blog.oio.de/2013/04/16/jsf-2-2-jsr-344-is-final/
- ↑ http://blog.oio.de/2010/11/24/jsr-000314-javaservertm-faces-2-1/
- ↑ Bosch, Andy (2010-11-29). Was ist neu in JSF 2.1 (em german). it-republik.de. Página visitada em 2013-02-19.
Bibliografia[editar]
- CORDEIRO, Gilliard. Aplicações Java para a web com JSF e JPA. 1 ed. São Paulo: Casa do Código, 2012. 270 p. 978-85-66250-01-5
- 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