Quando eu comecei a mexer em JSF eu só tinha mexido em PHP pra desenvolvimento Web e tinha visto Struts bem básico. A empresa chegou e disse que JSF e Struts foram as tecnologias que eles tinham analisado e que JSF se mostrava superior em alguns aspectos (não lembro ao certo, mas provavelmente era na parte de manutenção).
No começo, eu estava mexendo com JSF por causa da empresa mesmo. Meus colegas de trabalho e eu demoramos alguns meses mexendo com JSF até achar uma arquitetura decente e organizada para fazermos uma aplicação rodar com uma manutenção simples (ninguém da equipe conhecia JSF até então).
Depois de revirar o JSF e tendo em mãos uma arquitetura simples e funcional, fica bem tranquüilo desenvolver. Então hoje eu gosto de desenvolver com JSF. Faço uma aplicação na boa, sem estresse.
Galera para com isso a melhor solucao vai de projeto para projeto, mas ninguem pode falar mal do struts ele atende a necessidade, pelo menos para quem sabe usar, sou mais ele que vraptor e outros q existe, muita coisa o struts atende e bem, outra coisa pq será que varias empresas grande usa ele
Bradesco, Itau, Sul America, Maritima entre outras falo isso pq acabei de sair de uma consultoria q atende esses clientes, entao para mim ele deu $$$ huahuahauhauha…
agora uma coisa eu sei agredito que logo logo o JSF vai pegar força no mercado, pois ele tem alguns objetos bons de se trabalhar exemplo JTable dele entre outros…
[quote=foliveira81]outra coisa pq será que varias empresas grande usa ele
Bradesco, Itau, Sul America, Maritima entre outras falo isso pq acabei de sair de uma consultoria q atende esses clientes, entao para mim ele deu $$$ huahuahauhauha…
[]'s[/quote]
Usam só porque Struts foi o framework pioneiro e, nestas empresas que você citou, é o único framework web homologado. Homologar outro framework é um processo caro que nem sempre pode compensar. Além disso, no caso da adoção de um segundo framework, a empresa vai passar a ter duas bases de código para dar manutenção, o que pode sair mais caro do que era antes e migrar o legado já existente para simplesmente adequá-lo a um outro framework, sem agregar valor ao software, nunca é uma alternativa que agrada os gerentes (com razão).
Concordo que a melhor solução varia de projeto pra projeto, mas dai a achar q o struts é bom… :shock:
[quote=foliveira81]Galera para com isso a melhor solucao vai de projeto para projeto, mas ninguem pode falar mal do struts ele atende a necessidade[/quote]Pode atender, mas “quando você só tem um martelo, tudo parece um prego”…
Se voce utiliza o Struts em projetos pequenos com no máximo uns 30 casos de uso, ainda vale a pena mas quando voce trabalha com um projeto de 200 uc’s, se torna impossível gerenciar tanto xml, tanta action e mapeamento hibernate.
Solução; utilizar um framework orientado a componentes (Tapestry), usar um banco pós-relacional e controle altamente rigoroso sobre toda a parte de construção.
[quote=Anderson Fonseca]Se voce utiliza o Struts em projetos pequenos com no máximo uns 30 casos de uso, ainda vale a pena mas quando voce trabalha com um projeto de 200 uc’s, se torna impossível gerenciar tanto xml, tanta action e mapeamento hibernate.
Solução; utilizar um framework orientado a componentes (Tapestry), usar um banco pós-relacional e controle altamente rigoroso sobre toda a parte de construção.
Anderson Fonseca,
SCJA, SCJP, SCBCD, SCWCD, SCEA[/quote]
Engraçado isso. Trabalho com Java e mais ainda com .Net e tô vendo a galera se render a produtividade da utilização de super componentes web.
Pra mim, JSF é uma versão meio .Net, mas com o poder e robustez da arquitetura java. Apanhei muito fazendo algo muito semelhante ao caso citado pelo “Mauricio” em Java.
As vezes acho que .Net quer virar java e java quer virar .Net, e um dia elas se encontram no meio do caminho. eheheh Isso para os mais puritanos é o fim.
Lobo Jr
Nada também é muito
JSF é mais uma resposta ao ASP.NET do que qualquer outra coisa, mas ele trouxe idéias interessantes que não estão presentes no ASP.NET mas que terminaram não sendo muito valorizadas ou utilizadas pela comunidade por diversos motivos.
A mais clássica é a noção de renderers. Teoricamente, você poderia ter um mesmo conjunto de componentes JSF gerando saída em vários formatos diferentes, como XHTML, WML, XUL e outros. Contudo, entretanto, todavia, os conjuntos de compoentes suportados por essas diferentes linguagens de marcação são tão diferentes (e conflitantes, em alguns casos) que tornou-se simplesmente impossível (ou impraticável) conseguir desenvolver uma aplicação com eles.
Imagine que você vai desenvolver uma aplicação pra gerar WML e XHTML, você vai ter que tomar cuidado pra fazer com que os componentes que você use sejam todos componentes que tem “renderers” pra as duas linguagens e vai ter que pensar em alguma maneira de não “poluir” demais a interface, porque quem vai receber WML não vai poder ver o mesmo que um browser XHTML poderia. Então essa idéia terminou sendo meio furada (isso mudou um pouco com a chegada do AJAX, mas também não melhorou muito não).
Não vou dizer aqui que aprender JSF é excitante, nem que JSF vai trazer a paz aomundo de frameworks web em Java, mas pras minhas necessidades hoje não encontrei nada melhor em Java. A noção de componentes e controle total sobre a interface fazem dele pra mim hoje a melhor opção no mercado.
Um exemplo interessante disso e uma aplicação que eu comecei a desenvolver recentemente, que é um “gerador de relatórios”. O sistema recebe as informações da tela de filtro de um relatório e ela é montada dinâmicamente apenas com a criação e adição de componentes. Se eu estivesse utilizando um framework web “comum” (action-based) provavelmente teria que escrever horrores de HTML, JavaScript e ainda criar taglibs que fizessem isso, com JSF é só createComponent() e createValueBinding(), toda a conversão, validação e relacionamento entre componente e propriedades do formulário são feitas pelo próprio JSF.
Sempre existem “casos” e “casos”. O que nós temos que fazer é saber escolher qual a melhor ferramenta pro serviço.[/quote]
particularmente JSF está sendo MUITO BOM na minha opinião, principalmente quando se usa Ajax4JSF
estou num projeto utilizando JSF + ajax + Spring (AOP e Transactions) + EJB3 e está tudo andando muito bem! Há ótimas implementações do JSF que tornam o trabalho produtivo e de qualidade
[quote=lobinhojr]Engraçado isso. Trabalho com Java e mais ainda com .Net e tô vendo a galera se render a produtividade da utilização de super componentes web.
Pra mim, JSF é uma versão meio .Net, mas com o poder e robustez da arquitetura java. Apanhei muito fazendo algo muito semelhante ao caso citado pelo “Mauricio” em Java.
As vezes acho que .Net quer virar java e java quer virar .Net, e um dia elas se encontram no meio do caminho. eheheh Isso para os mais puritanos é o fim.
Lobo Jr
Nada também é muito
JSF é mais uma resposta ao ASP.NET do que qualquer outra coisa, mas ele trouxe idéias interessantes que não estão presentes no ASP.NET mas que terminaram não sendo muito valorizadas ou utilizadas pela comunidade por diversos motivos.
A mais clássica é a noção de renderers. Teoricamente, você poderia ter um mesmo conjunto de componentes JSF gerando saída em vários formatos diferentes, como XHTML, WML, XUL e outros. Contudo, entretanto, todavia, os conjuntos de compoentes suportados por essas diferentes linguagens de marcação são tão diferentes (e conflitantes, em alguns casos) que tornou-se simplesmente impossível (ou impraticável) conseguir desenvolver uma aplicação com eles.
Imagine que você vai desenvolver uma aplicação pra gerar WML e XHTML, você vai ter que tomar cuidado pra fazer com que os componentes que você use sejam todos componentes que tem “renderers” pra as duas linguagens e vai ter que pensar em alguma maneira de não “poluir” demais a interface, porque quem vai receber WML não vai poder ver o mesmo que um browser XHTML poderia. Então essa idéia terminou sendo meio furada (isso mudou um pouco com a chegada do AJAX, mas também não melhorou muito não).
Não vou dizer aqui que aprender JSF é excitante, nem que JSF vai trazer a paz aomundo de frameworks web em Java, mas pras minhas necessidades hoje não encontrei nada melhor em Java. A noção de componentes e controle total sobre a interface fazem dele pra mim hoje a melhor opção no mercado.
Um exemplo interessante disso e uma aplicação que eu comecei a desenvolver recentemente, que é um “gerador de relatórios”. O sistema recebe as informações da tela de filtro de um relatório e ela é montada dinâmicamente apenas com a criação e adição de componentes. Se eu estivesse utilizando um framework web “comum” (action-based) provavelmente teria que escrever horrores de HTML, JavaScript e ainda criar taglibs que fizessem isso, com JSF é só createComponent() e createValueBinding(), toda a conversão, validação e relacionamento entre componente e propriedades do formulário são feitas pelo próprio JSF.
Sempre existem “casos” e “casos”. O que nós temos que fazer é saber escolher qual a melhor ferramenta pro serviço.[/quote][/quote]
Quem sai ganhando com isso somos nós no final não é ??? Sempre tentando um superar o outro e a gente aproveitando
Quero aprender JSF com Facelets urgente !!!
Acho que vou deixar de lado temporariamente o estudo para certificação, pois todos comentam muito (e bem) de JSF. Assim como o amigo trabalho hoje tb com ASP.Net