Pages

Subscribe:

Ads 468x60px

segunda-feira, 28 de junho de 2010

Plugin Netbeans 6.8 e Ice Faces

Galera está disponível no site da icesoft plugin do IceFaces para NetBeans 6.8 e 6.9!
Forum Icefaces

Ainda não testei! Quando testar posto aqui os resultados!


O download pode ser feito aqui!

Até a versão 6.0 o plugin do icefaces era uma mão na roda! Fazia quase tudo pro desenvolvedor! Vamos ver essas novas versões!

JSF - Desenvolvendo componentes personalizados com IceFaces e Facelets - parte 2

Pessoal, promessa é dívida né!
Demorei mto pra postar a segunda parte, tive problemas com trabalho, família e Trabalho de conclusão de curso que tomou todo o meu tempo!

Já temos o JSF 2.0, que simplifica e padroniza a criação de componentes, mas mesmo assim vou falar como fiz aqui, ainda pode ser útil pra muita gente. Então pra não deixa ninguém na mão:


Vamos criar um componente bem simples, bobo mesmo, mas ótimo pra dar uma idéia do que deve ser configurado:
Primeiramento o componente que vamos criar será uma label com um texto:
Ah, mas não implementaremos comportamento, não agora, ela será um caixa estática.
Poderemos utilizar essa caixa onde quisermos no sistema, pra isso bastará fazermos o seguinte:

Pense nas possibilidades! Esse é um exemplo bobo, mas quando implementei minha caixa de pesquisa vi o quanto a criação desse componentes é poderosa!

Primeiro vou mostrar a estrutura de arquivos que vamos precisar:


caixa.xhtml - Esse é o arquivo onde ficará o nosso compontente.
facelets.taglib.xml - Esse arquivo vai definir nossa biblioteca de componentes.
web.xml - Nesse arquivo vamos colocar o parâmetro pra contar pro Facelets onde está a biblioteca de componentes.

Vamos começar pelo web.xml, nele devemos adicionar entre as tags e , o seguinte código:

Parâmetro que determina a localização do descritor das tags dos componentes Facelets
facelets.LIBRARIES
/WEB-INF/facelets/facelets.taglib.xml

Com isso estamos criando um parâmetro de contexto para definir a biblioteca de tagLibs do facelets.


Com isso o Facelets será capaz de saber que o arquivo de biblioteca de componente está na pasta especificada em .

Agora veja a estrutura do arquivo facelets.tablib.xml:

Abaixo descreverei as tags:
- É a tag raiz, que especifica que esse arquivo é uma tablib, dentro dela podemos colocar quantas tags precisarmos.
- É um nome de referência para essa taglig, quando formos usarmos essa taglib em uma página informaremos esse namespace no xmlns.
- Define uma tag, podemos ter quantas tags quisermos.
- O nome que essa tag terá.
- O caminho do arquivo que corresponde à essa tag.


Bom, após criarmos esses dois arquivos nossa aplicação já está apta para usar taglibs, só falta criarmos o próprio componente que corresponderá a tag que queremos.
O código da caixa de pesquisa seria bem simples, isso será feito no arquivo caixa.xhtml que ficará da seguinte forma:

Agora na página que você deseja atilizar seu componente basta fazer a seguinte chamada no xmlns chamando o namespace do seu taglib:


e usar a tag de acordo com o que colocou no xmlns dessa forma, passando os atributos que podem ser utilizados pela tag:
O resultado no navegador é o seguinte:

São grandes as possibilidades para essa solução!
Podemos a partir dela criar componentes complexos com lógica inserida em classes que facilitarão muito o desenvolvimento e a modularização do seu sistema!

Postarei um componente mais complexo, agora que já sabem com criar um simples fica tudo mais fácil!
Até o próximo!


"As pessoas podem duvidar do que você diz, mas elas acreditarão no que você faz. "
[Lewis Cass]


sexta-feira, 18 de dezembro de 2009

JSF - Desenvolvendo componentes personalizados com IceFaces e Facelets - parte 1

Eu estava desenvolvendo uma pesquisa para o sistema que estouconstruindo atualmente. Depois de muita pesquisa resolvemos utilizar IceFaces, já que é o padrão da Sun, e Facelets, que, além do benefício do template, torna o sistema mais rápido e a reutilização de componentes JSF muito mais fácil. Dizem alguns que a performance do sistema melhora entre 30 e 50%...

Estávamos construindo uma tabela para lançamento de lotes, coisas do sistema orçamentário municipal, ficou uma tela bonitinha com uma pesquisa excelente. Um painel Modal, com uma tabela e um data paginator.

Tela de pesquisa


Mas aí veio a dúvida, eu vou ter que reescrever esse código, que não era pequeno, em todas as telas que eu precisar de uma pesquisa? Não, eu não podia fazer isso, e se eu precisasse alterar essa pesquisa? Sairia alterando de página em página? Loucura né!

Levei bastante tempo pra saber quais frameworks usar e como implementar isso, e pretendo compartilhar numa série de posts, que ainda não sei quantos, minhas experiências e tormentos, que, de forma alguma, foram poucos.


A IDE que eu utilizo é o NetBeans 6.5.1, tenho plugin do facelets e do IceFaces instalados, a criação do projeto com o IceFaces integrado ao facelets é cheia das peculiaridades, portanto recomendo que entrem nesse post e sigam os passos do vídeo. O NetBeans é, pra mim, de longe, a melhor IDE para desenvolvimento Java, tanto web quanto Desktop, não tenho nada contra Eclipse JDev, ou qualquer outra IDE, simplesmente prefiro o NetBeans, por questões de usabilidade, e, principalmente, por que já estou adaptado a ele.

Então vamos a uma introdução sobre Facelets e IceFaces:


IceFaces
Segundo o site do IceSoft, a empresa administradora do IceFaces: "ICEfaces é mais do que uma biblioteca de componentes Ajax JSF, é um framework J2EE Ajax para desenvolvimento e implantação de aplicativos corporativos ricos. Com ICEfaces, desenvolvedores Java podem facilmente desenvolver aplicativos corporativos ricos em Java, não JavaScript."

Simplificando o IceFaces é um conjunto de componentes JSF com suporte a Ajax. Mas ele vai além disso, tem até algumas coisas diferentes do próprio JSF, como o ciclo de vida dos beans, que em alguns pontos se diferem de outras implementações.
Vocês podem visualizar uma demonstração de componentes do IceFaces.

Existe uma versão free do IceFaces, mas como tudo no mundo capitalista existe uma versão paga, com componentes extras e suporte da IceSoft.


Facelets
Segundo a Wikipédia:
"Facelets é um framework web de código aberto sob a licença Apache, é uma tecnologia alternativa para a renderização e visualização do JavaServer Faces.
Em prática o Facelets é um framework que permite templating, utiliza XHTML, e torna a criação de componente muito mais simples."

Não vou falar aqui sobre configurações pra que o Facelets funcione, acho bem mais sensato utilizar o NetBeans, mas se você é chato, e gosta de fazer tudo a mão, o google tem muita informação, inclusive no site do IceFaces IceFaces.org, tem tutoriais falando sobre essa configuração.

Embora eu tenha implementado com Facelets, acho que a implementação com outros frameworks não será muito diferente. O mais interessante de tudo é a classe que criei para gerenciar a tela de pesquisa, que abstraiu toda a complexidade da lógica da tela de pesquisa, mas isso é assunto pra outro post!

No próximo post vou falar sobre a criação de componentes básicos, paraentender os conceitos de criação de componentes. Vou mostrar como aprendi a criar um componente com um label e um campo de texto, aliás, esse é o único exemplo que encontrei na internet, depois vou falar sobre a criação de componentes mais sofisticados, os quais possuem pouquíssima referência bibliográfica.

Espero publicar os próximos posts o mais rápido possível que minha vida de universitário e proletariado me permitirem... Até o próximo!!!

quarta-feira, 9 de dezembro de 2009

JSF + Facelets + IceFaces no NetBeans

Achei esse video que ensina a configurar o Facelets com o IceFaces no NetBeans. Depois de apanhar muito pra tentar fazer esses frameworks funcionarem juntos consegui esse video.

Apos instalar os plugins do IceFaces e do Facelets que podem ser baixados no site do NetBeans ou a partir do Gerenciador de plugins, basta criar um projeto como o mostrado no video e tudo executa tranquilinho.



Fica aí a dica, qualquer dúvida deixem nos comentários. ;)