Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate.
Autores: Carlos Eduardo de Carvalho Dantas e Leandro Contato Guimarães

Desenvolvimento com PrimeFaces
Desde o seu lançamento em 2009, cada release do PrimeFaces sempre acrescenta novos componentes de interface de usuário e diversificados recursos interativos aos seus pacotes PrimeUI e PrimeMobile. Estas soluções vêm de encontro ao desenvolvimento de interfaces para aplicações RIA, nos cenários cada vez mais intricados dos sistemas web e das aplicações móveis da atualidade. O site oficial do PrimeFaces oferece todo o suporte para a codificação dos componentes dentro das melhores práticas de programação. Disponibiliza, associados a uma documentação gratuita completa, um blog e um fórum mantidos pela comunidade, que é ativa e comprometida com o projeto. Este texto auxilia o desenvolvedor Java a se iniciar com o framework, por meio de exemplos que demonstram o quanto ele é leve, livre de configurações e dependências, necessitando apenas de um arquivo de distribuição JAR.

Este artigo contempla uma visão geral do PrimeFaces, considerado uma das implementações mais populares do JavaServer Faces. O framework possibilita programar valendo-se de uma vasta biblioteca de componentes de interface de usuário (providos de acessibilidade digital), tanto para ambiente web como para dispositivos móveis.

Em que situação o tema é útil
Conhecer as vantagens e as funcionalidades do framework PrimeFaces – bem como a sua suíte de componentes e as suas possibilidades de personalização – é de grande conveniência aos desenvolvedores que desejam implementar aplicações RIA com mais agilidade, rapidez e maior produtividade.

Um dos principais motivos que tornou a internet e, consequentemente, a plataforma web, tão populares mundialmente, foi a facilidade de criação das deprecated páginas estáticas, restritas a conteúdos textuais, acompanhados de imagens, links e limitados recursos multimídia. Com pouco conhecimento em uma linguagem de marcação, como o HTML (HyperText Markup Language), qualquer pessoa podia divulgar seu site a um público em crescimento exponencial. No entanto, o comportamento dos usuários passou a rogar por experiências de navegação cada vez mais interativas, versáteis e seguras, onde os simples sites foram ganhando status de aplicações. Neste contexto, a comunidade JCP (Java Community Process) envolveu-se em especificações para o desenvolvimento de páginas dinâmicas, agora processadas no servidor e interpretadas pelo browser cliente. Entre elas, destacam-se a tecnologia JSP (JavaServer Pages) e a especificação para frameworks JSF (JavaServer Faces) – na sua mais recente versão 2.0 (Links) –, baseada em componentes para desenvolvimento web, úteis na construção de interfaces gráficas de usuário (GUIs ou Graphical User Interfaces).

Dentre as implementações de JSF 2.0 para a produção de aplicações web RIA (Rich Internet Application), são amplamente difundidas a implementação de referência Mojarra, o projeto MyFaces, além das bibliotecas de componentes RichFaces, ICEfaces e o objeto do presente artigo: os componentes funcionais e as utilidades do framework PrimeFaces, atualmente disponível na versão 3.4 (Links). Cada nova versão do PrimeFaces é desenvolvida pela Prime Teknoloji (uma empresa de softwares estabelecida na Turquia). Além da correção de bugs, novos componentes vão sendo acrescentados em sua biblioteca, com a filosofia de apresentarem codificações leves e livres de dependências, baseadas em um único arquivo binário compactado do tipo JAR (Java ARchive). Seu uso estendeu-se além do desenvolvimento de interfaces web ricas – agregando a tecnologia AJAX (Asynchronous JavaScript and XML) – como, também, rumo às interfaces de utilitários em dispositivos móveis de diferentes plataformas. O PrimeFaces oferece suporte, ainda, ao Ajax Push (AJAX Reverso ou Comet), dando liberdade ao servidor para enviar respostas sem haver solicitações vindas do cliente.

Obedecendo ao propósito de expor uma visão geral do PrimeFaces, a matéria, ora discorrida, ilustrará, em primeiro lugar, a implementação trivial de dois componentes do framework (escolhidos de forma ocasional), incluindo, ainda, a acessibilidade digital de um deles. Cláudia Dias, autora do livro “Usabilidade na web: criando portais mais acessíveis”, diz que a acessibilidade na web “(...) significa que qualquer pessoa, usando qualquer tipo de tecnologia de navegação (navegadores gráficos, textuais, especiais para cegos ou para sistemas de computação móvel) deve ser capaz de visitar e interagir em qualquer site, compreendendo inteiramente as informações nele apresentadas”. Neste sentido, é possível perceber que, em suas versões mais recentes, o PrimeFaces não permite exclusivamente a implementação produtiva e facilitada de aplicações web para o público em geral, mas, também, está adaptado às necessidades dos usuários portadores de deficiências físicas. Na sequência, será mostrada uma breve explanação do pacote PrimeMobile, tendo em vista o incremento da busca por aplicativos destinados às interfaces móveis.

A série de componentes do PrimeFaces

O Guia do Usuário (User’s Guide) do PrimeFaces (Links) relaciona uma documentação com informações, atributos, melhores práticas e demonstrações para os mais de cem integrantes do seu conjunto de componentes. Eles estão de acordo com a arquitetura MVC (Model-View-Controller), que controla o fluxo do aplicativo na especificação JSF. Isolando o código Java da camada de apresentação, os componentes PrimeFaces são pré-codificados em taglibs, funcionando como abstrações responsáveis por unir os códigos – HTML, CSS (Cascading Style Sheets) e JavaScript – que tratam os seus comportamentos. Exemplos práticos estão expostos no mostruário online (Links), dispondo, em seções, os elementos de entrada de dados e de saída de informações, botões, painéis, menus, gráficos, diálogos etc., juntamente com todos os recursos, efeitos e interações do framework, além das respectivas implementações em código aberto.

A galeria de temas prontos para download (Links) permite a alteração de vários aspectos de um componente, tais como as definições da fonte aplicada nos textos (entre elas, a família, o tamanho e o estilo), as cores dos elementos constituintes, afora outros efeitos visuais e interativos. Caso seja útil um tema customizado, a ferramenta ThemeRoller, do jQuery (Links), autoriza o desenvolvedor a criá-lo, automaticamente, nos moldes da estrutura convencional dos temas já concebidos pelo framework. Essas opções do PrimeFaces, tanto em número de componentes, como em personalização dos mesmos, partindo dos elementos de interface mais simples aos mais elaborados, garantem a criação de interfaces ricas para as mais diversas pretensões gráficas e funcionais.

Os componentes PrimeFaces e a acessibilidade digital

Ao trabalhar com algum componente de interface, um desenvolvedor Java qualificado deve sempre cumprir esforços em observar as medidas de acessibilidade digital para as pessoas portadoras de deficiências físicas, especialmente, as visuais. Deficiências visuais, porque em seus diversos graus – de leve até a cegueira total –, são a maioria entre as possíveis deficiências físicas existentes, segundo o Instituto Brasileiro de Geografia e Estatística (IBGE) (Links). Contudo, o acesso a algumas áreas das aplicações web e o correto aproveitamento dos seus recursos e conteúdos ainda reclamam por implementações mais expressivas, tendo como base as recomendações definidas pelo W3C (World Wide Web Consortium­ ...

Quer ler esse conteúdo completo? Tenha acesso completo