Atualmente, se uma equipe de desenvolvimento de sistemas receber a missão de implementar uma nova aplicação web em Java, existe uma grande possibilidade do responsável pela definição da arquitetura optar pelo JSF como o framework MVC do projeto. É claro que a decisão levará em conta vários fatores, mas se esta for realmente a escolha, certamente a preferência será motivada por questões como a popularidade da biblioteca e o fato de ela pertencer à especificação Java EE.
A decisão pelo JavaServer Faces, entretanto, não é a única a ser tomada antes de iniciar a implementação. No que diz respeito à elaboração da camada de visão, é provável que alguma biblioteca de interface rica como RichFaces, ICEfaces ou PrimeFaces também seja adicionada ao projeto. Esta constatação existe por conta de algumas limitações do JSF, como:
- Os componentes visuais nativos são poucos e muito rústicos;
- Não existe suporte embarcado no framework ao uso de temas/skins;
- Modelo nativo de requisições AJAX é simples, sem suporte, por exemplo, a mecanismos de push.
Neste contexto, frameworks RIA, como os comentados anteriormente, surgiram logo após o lançamento das versões iniciais do JSF e trouxeram algumas vantagens, como uma experiência visual mais agradável para o usuário, a possibilidade de executar processamento assíncrono, diminuição no tráfego de rede – uma vez que a client engine pode efetuar processamento no lado do cliente –, redução da complexidade da aplicação, entre outras.
Para conhecermos de forma mais aprofundada um destes frameworks, este artigo explorará o PrimeFaces 5, lançado recentemente pela PrimeTek e que tem se firmado como a biblioteca RIA para JSF mais popular do mercado. Como veremos, novos componentes foram lançados nesta versão, além de várias melhorias terem sido implementadas em tags já existentes. A mais significativa delas talvez tenha sido a remodelagem do PrimeFaces Push, que agora está baseado no Atmosphere, considerado o framework para desenvolvimento assíncrono mais popular do Java. Entre as vantagens da nova implementação do Push estão o desenvolvimento dos sistemas baseado no uso de anotações, suporte a WebSockets e até mesmo integração com serviços em nuvem.
Dito isso, nesta primeira parte do artigo iremos conhecer os principais recursos do PrimeFaces através do início do desenvolvimento de um pequeno sistema de venda de veículos na modalidade leilão, no qual o usuário pode também dar sua opinião sobre os modelos de carros cadastrados.
O PrimeFaces 5
Em 2008, a PrimeTek, empresa de origem turca, especializada em desenvolvimento ágil, treinamento e consultoria Java EE, lançou no mercado uma biblioteca de componentes RIA chamada PrimeFaces. O framework foi criado pelo consultor Ҫağatay Ҫivici, autor/revisor de vários livros envolvendo desenvolvimento Java Web e JSF, e membro do JavaServer Faces Expert Group e do projeto Apache MyFaces. Contando com uma comunidade bastante ativa, o projeto possui código aberto e uma página de demonstração de dar inveja aos concorrentes.
Embora a maior parte dos desenvolvedores utilize a versão gratuita da biblioteca, existem ainda dois planos de suporte diferenciados:
- PrimeFaces Elite: oferece releases com melhorias e correções mais constantes que a versão gratuita, acesso a temas exclusivos e um plano aperfeiçoado de correção de bugs que garante a inclusão do patch no próximo release se o defeito atingir mais de 15 votos de usuários na ferramenta de acompanhamento de ocorrências da biblioteca;
- PrimeFaces Pro: traz as mesmas vantagens da versão Elite, além de acesso a uma área com conteúdo exclusivo (http://pro.primefaces.org), resposta a dúvidas ou bugs em ...
Fim do trecho gratuito • continue abaixoCONTEÚDO EXCLUSIVO
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais
Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Por Pablo Em 2014Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.
Aceitar -