| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 15:07:08
|
alltairr
Entusiasta Java
![[Avatar]](/images/avatar/3e642a870bd8799f679063bea1a62eda.jpg)
Membro desde: 05/11/2008 13:29:16
Mensagens: 16
Offline
|
Amigos,
Todos as pessoas que pergunto sobre o que eles acham do JSF ele sempre respondem que é um LIXO.
Então decidi criar um Tópico para deixarem as opiniões sobre:
Devo usar o JSF no desenvolvimento WEB?
Se não o que você sugere para uso?
Na realidade gostaria de saber onde investir para obter mais conhecimentos no desenvolvimento WEB, qual a forma mais segura, a menos complexa e etc...
This message was edited 1 time. Last update was at 05/01/2012 11:51:02
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 15:19:16
|
jakefrog
GUJ Expert
![[Avatar]](/images/avatar/6e2400ec18b6f1952f1053c65df7a8b6.png)
Membro desde: 22/01/2007 22:00:53
Mensagens: 4191
Offline
|
Eu sempre indiquei. [=
Lógico que tem seus problemas como qualquer outra tecnologia web, mas eu o acho bem flexível. Gosto pacas.
|
Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]
SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)
Vamos em frente que atrás vem gente! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 15:23:13
|
maior_abandonado
JWizard
![[Avatar]](/images/avatar/0d7c463832b871c20405a6c9296b5517.jpg)
Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline
|
a resposta para a a pegunta do tópico é curta e direta: dizem isso por que são fanáticas. Simples assim.
Tem seus pontos fracos, é um pouco mais lento do que vários outros frameworks mas a diferença é minima, você ao desenvolver com este framework tem um pouco menos de controle da parte javascript por exemplo mas a idéia do framework é justamente essa, o desenvolvedor não mecher com isso e focar na regra de negócio. A maioria dos frameworks que não tem estes problemas também não são tão produtivos quanto JSF para se desenvolver... você perde de um lado mas ganha do outro, então escolhe o que lhe valer mais a pena de acordo com os requisitos do projeto. Simples assim.
|
espero ter ajudado...
falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 15:48:17
|
diogo soares
Virtual Machine Man
Membro desde: 17/06/2008 12:46:19
Mensagens: 585
Localização: RS
Offline
|
Cara eu já trabalhei com diversos frameworks do mercado, e os que me chamaram mais atenção foram o wicket e o JSF 2.0, mais com o wicket tinha que criar a interface toda na mão podendo usar componentes do jquery, mais comecei a usar o JSF 2.0 com primefaces e me apaixonei e hoje indico para todos que me pergunto, claro que tudo deve ser avaliado de acordo com a necessidade antes de montar uma arquitetura, mais vai que vc aprenderá muito com ele. Talvés alguém passou pelo JSF 1.3 e conserteza não gostou mais o 2 ta matando...
|
Sigam-me no Twitter.: @diogoprosoft
Meu Skype.: diogoprosoft
Meu msn.: diogoprosoft@gmail.com
Meu Gtalk.: diogoprosoft@gmail.com
Meu Facebook.: diogoprosoft@gmail.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 15:49:57
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Na realidade gostaria de saber onde investir para obter mais conhecimentos no desenvolvimento WEB, qual a forma mais segura,
Aprenda os fundamentos básicos de web JEE...servlet e JSP.
a menos complexa e etc..
kkkk isso não existe!!! Construir aplicações web hoje é uma atividade complexa, requerendo dos responsáveis uma serie de conhecimentos.... Se vc é daqueles desenvolvedores RAD "desktopzeros" dos anos 90 pode se preparar para a borrachada.....
Minha maior aplicação web hoje conta com 10 mil usuários habilitando com a media de 1000 sessões por minuto em JSF. Ambiente de produção = 1 Linux com 2GB + tomat e SQLServer.
Que lixo em??? kkkkkkkkkk
Devo usar o JSF no desenvolvimento WEB?
Não sei.....oque aponta tecnologia da solução é os requisitos da mesma.
Agora que vc pode usar...sim.
This message was edited 1 time. Last update was at 04/01/2012 15:56:07
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 17:22:58
|
esdras_63
JavaEvangelist
![[Avatar]](/images/avatar/b94ae76f1194b945f547278d3c7b30cb.jpeg)
Membro desde: 17/07/2011 15:25:45
Mensagens: 315
Localização: Wenceslau Braz - PR
Offline
|
Já vi muita gente falando por aí que JSF era ruim. Eu até já fis parte delas Oo. Na verdade quando comecei a aprender frameworks MVC, meu primeiro framework foi JSF e realmente eu não tinha gostado. Eu achava chato pra caramba ter que aprender todos os componentes html de novo para seguir os padrões do jsf, que na minha opinião, realmente não é muito bom sozinho. Então depois de estar desenvolvendo a algum tempo em VRaptor + Hibernate + Spring, tive a curiosidade(esses dias mesmo) de ver um tal de primefaces que li em alguns sites. Depois de entrar nesse site: http://www.primefaces.org/showcase-labs/ui/home.jsf e ver como é simples fazer muita coisa que com jquery + css + html é complicadíssimo, eu mudei de idéia. Hoje estou fazendo uma aplicação em (JSF + Primefaces) + (Hibernate + Spring) e estou gostando bastante. Mas quem deve optar é você mesmo. De uma olhada nesse site do primefaces e veja como é simples usar coisas que com html + jquery + css são muito difíceis.
|
"Não sabendo que era impossível, foi lá e fez." (Jean Cocteau)
Que tal??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 17:46:07
|
lucasmurata
JavaTeenager
![[Avatar]](/images/avatar/27547ca50784fdbb5a6c42f2967aa90d.jpg)
Membro desde: 15/07/2011 14:36:43
Mensagens: 158
Offline
|
Utilize frameworks como VRaptor, Play ou Rails. Abuse da arquitetura Restful. Estude muito e abuse de Javascript, ExtJS, jQuery. Abuse dos componentes JEE6 como JPA e EJB, Jax-RS. Mas pelo amor do Ser Superior no qual voce acredita, não use JSF-lixo.
Eu gosto e defendo muito as especificações. Gosto de EJB, JPA, Servlets, Jax-WS e RS. Mas JSFail não.
@FernandoFranzini, se sua aplicação suporta várias pancadas, nao é mérito somente do JSF, e o Container JEE? Boas Praticas? Os recursos do JEE? A infra? acho que JSF é o que menos influencia ai.
Repito, utilize frameworks com arquitetura Restful e SOA-ready como Vraptor, Rails, Play, Servlet, abuse do JS, Extjs, jQuery, e por favor, ajude para que JSFail nao cresça na comunidade Java, deixando de usa-lo.
This message was edited 1 time. Last update was at 04/01/2012 17:46:50
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 18:17:24
|
jakefrog
GUJ Expert
![[Avatar]](/images/avatar/6e2400ec18b6f1952f1053c65df7a8b6.png)
Membro desde: 22/01/2007 22:00:53
Mensagens: 4191
Offline
|
lucasmurata wrote:Utilize frameworks como VRaptor, Play ou Rails. Abuse da arquitetura Restful. Estude muito e abuse de Javascript, ExtJS, jQuery. Abuse dos componentes JEE6 como JPA e EJB, Jax-RS. Mas pelo amor do Ser Superior no qual voce acredita, não use JSF-lixo.
Eu gosto e defendo muito as especificações. Gosto de EJB, JPA, Servlets, Jax-WS e RS. Mas JSFail não.
@FernandoFranzini, se sua aplicação suporta várias pancadas, nao é mérito somente do JSF, e o Container JEE? Boas Praticas? Os recursos do JEE? A infra? acho que JSF é o que menos influencia ai.
Repito, utilize frameworks com arquitetura Restful e SOA-ready como Vraptor, Rails, Play, Servlet, abuse do JS, Extjs, jQuery, e por favor, ajude para que JSFail nao cresça na comunidade Java, deixando de usa-lo.
Vc poderia explicar melhor pq o JSF é lixo?
|
Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]
SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)
Vamos em frente que atrás vem gente! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 18:57:27
|
alltairr
Entusiasta Java
![[Avatar]](/images/avatar/3e642a870bd8799f679063bea1a62eda.jpg)
Membro desde: 05/11/2008 13:29:16
Mensagens: 16
Offline
|
Obrigado amigos pelas respostas, eu tambem estou usando em um sistema que estou criando JSF + PrimeFaces + Hibernate 3 + Spring Security e não estou me arrependendo só queria entender por que JSF é um lixo.
Pode responder isso lucasmurata?
Pois realmente a versão 1.2 do JSF era horrivel, mas a 2.0 parece estar muito estável e bem bacana.
This message was edited 1 time. Last update was at 04/01/2012 18:58:25
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 19:06:50
|
esdras_63
JavaEvangelist
![[Avatar]](/images/avatar/b94ae76f1194b945f547278d3c7b30cb.jpeg)
Membro desde: 17/07/2011 15:25:45
Mensagens: 315
Localização: Wenceslau Braz - PR
Offline
|
alltairr wrote:Obrigado amigos pelas respostas, eu tambem estou usando em um sistema que estou criando JSF + PrimeFaces + Hibernate 3 + Spring Security e não estou me arrependendo só queria entender por que JSF é um lixo.
Pode responder isso lucasmurata?
Pois realmente a versão 1.2 do JSF era horrivel, mas a 2.0 parece estar muito estável e bem bacana.
Concordo. Também não tenho grandes experiências com JSF, mas até agora estou trabalhando muito bem com Hiberante + Spring + (JSF + Primefaces). E outra: pra que abusar de jQuery, js, ajax, e todas essas outras coisas sendo que com primefaces + JSF você consegue a mesma coisa com muito mais facilidade e praticidade?? Eu não acho muito certo comparar o JSF com o VRaptor por exemplo por que além de fazerem quase o mesmo trabalho, eles fazem de formas diferente. Eu achei o JSF com Primefaces muito mais produtivo em relação à View e no controller achei em termos de produtividade, igual ao vraptor ou melhor. Ele realmente não é muito simples mas é muito bom.
|
"Não sabendo que era impossível, foi lá e fez." (Jean Cocteau)
Que tal??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 19:50:38
|
YvGa
Virtual Machine Man
Membro desde: 07/03/2007 15:58:16
Mensagens: 518
Offline
|
Eu nao trabelhei com JSF 2.0, nem primefaces, entao o que eu digo eh sobre JSF 1 e richfaces.
Atende de maneira pratica 90% das suas necessidades. Mas se voce precisa qualquer coisa diferente, um javascript, ou uma chamada AJAX que nao tenha que passar pelo ciclo de vida dele voce ta f...
Customizar um componente entao era um parto.
Tem habito tenebroso de falhar silenciosamente. (Ah, voce que nao soube configurar/usar) Eh, tem isso tambem, o ciclo de vida nao eh nenhum pouco intuitivo.
Gera um html terrivel, aplicar css nele eh um saco.
O famoso e maravilhoso sistema de binding de componentes dele nunca funcionou direito (pelo menos eu nunca consegui fazer funcionar direito, olha eu de novo nao sabendo configurar, lembrando que tenho pelo menos uns quatro livros sobre ele aqui em casa, ja li todos e mesmo assim ele vivia me surpreendendo com erros silenciosos inesperados).
Pessoalmente prefiros os frameworks action based, voce tem um pouco mais de trabalho ate criar uma boa infra-estrutura, componentes etc... mas depois eh bem mais produtivo e bem mais facil de dar manutencao.
Quanto ao desempenho, nunca tive problemas com JSF.
|
Paulo Borio |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 20:55:18
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
O principal problema do JSF é que ele gerencia a criação da HTML final e também o formato das URLs. Em aplicações RIA para web 2.0, aonde você tem que mexer diretamente na estrutura DOM da página gerada e se preocupar com o formato e estrutura das suas URLs, você acaba se ferrando por causa do JSF.
Para demonstrar isso dê uma olhada na HTML gerada pelo JSF e você vai ver muita coisa gerada automaticamente. Então tente implementar no seu template JSF, sem usar nenhuma gambiarra escrota, algum efeito na página via javascript (com ou sem jQuery). Provavelmente você vai quebrar a cara. Se conseguir, tente então baixar algum conteúdo por ajax e alterar a estrutura da página dinamicamente com base na resposta do ajax. Vai quebrar a cara de novo. Tente personalizar algum detalhe do CSS, quebrou a cara de novo!
É aí que está o problema do JSF: Uma vez que ele toma para si a tarefa de gerenciar a criação da HTML, você acaba perdendo a liberdade de personalizá-la, sendo obrigado a seguir as regras impostas pelo JSF, e para alguns tipos de aplicações, estas regras impostas não são aceitáveis.
Uma possível saída para esse problema é você criar os seus componentes JSF personalizados para fazer isso, mas aí você acaba perdendo a produtividade prometida pelo JSF e tem ainda a tarefa extra de ajustar os seus componentes as necessidades do JSF, uma tarefa árdua. Assim acaba sendo mais simples, mais fácil e mais rápido fazer tudo com javascript e HTML você mesmo, pois o JSF vai acabar se tornando um elefante branco inútil no sistema.
Para sistemas que são compostos basicamente de telas de cadastro, consultas e relatórios CRUD, você pode usar o JSF e seja feliz. No entanto, você também pode usar uma grande gama de outras ferramentas (ex: REST + JSP + jQuery) e também ser do mesmo jeito.
No entanto se você quer fazer um site cheio de animações e efeitos, carregamento dinâmico de dados em tempo real, etc, o JSF não é uma boa ideia.
Talvez você decida que o que você precisa é simples o suficiente para que o JSF dê conta e você vai produzir muito bem e mais rápido do que se estivesse usando alguma outra coisa. Até que em uma bela sexta-feira 13 de lua cheia, o cliente chega com um requisito de fazer a sua tela de consulta de situação de venda de produtos que é completamente estática, ter que monitorar em tempo real a atividade do fluxo de provisionamento de venda de produtos, para que o operador não precise ficar dando F5 a toda hora e possa agir imediatamente sem estourar o prazo máximo de 30 minutos para a conclusão da venda. Isso daí você pode fazer com Ajax e jQuery, mas... OH NO!
This message was edited 3 times. Last update was at 04/01/2012 21:00:23
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 21:06:21
|
esdras_63
JavaEvangelist
![[Avatar]](/images/avatar/b94ae76f1194b945f547278d3c7b30cb.jpeg)
Membro desde: 17/07/2011 15:25:45
Mensagens: 315
Localização: Wenceslau Braz - PR
Offline
|
victorwss wrote:O principal problema do JSF é que ele gerencia a criação da HTML final e também o formato das URLs. Em aplicações RIA para web 2.0, aonde você tem que mexer diretamente na estrutura DOM da página gerada e se preocupar com o formato e estrutura das suas URLs, você acaba se ferrando por causa do JSF.
Para demonstrar isso dê uma olhada na HTML gerada pelo JSF e você vai ver muita coisa gerada automaticamente. Então tente implementar no seu template JSF, sem usar nenhuma gambiarra escrota, algum efeito na página via javascript (com ou sem jQuery). Provavelmente você vai quebrar a cara. Se conseguir, tente então baixar algum conteúdo por ajax e alterar a estrutura da página dinamicamente com base na resposta do ajax. Vai quebrar a cara de novo. Tente personalizar algum detalhe do CSS, quebrou a cara de novo!
É aí que está o problema do JSF: Uma vez que ele toma para si a tarefa de gerenciar a criação da HTML, você acaba perdendo a liberdade de personalizá-la, sendo obrigado a seguir as regras impostas pelo JSF, e para alguns tipos de aplicações, estas regras impostas não são aceitáveis.
Uma possível saída para esse problema é você criar os seus componentes JSF personalizados para fazer isso, mas aí você acaba perdendo a produtividade prometida pelo JSF e tem ainda a tarefa extra de ajustar os seus componentes as necessidades do JSF, uma tarefa árdua. Assim acaba sendo mais simples, mais fácil e mais rápido fazer tudo com javascript e HTML você mesmo, pois o JSF vai acabar se tornando um elefante branco inútil no sistema.
Para sistemas que são compostos basicamente de telas de cadastro, consultas e relatórios CRUD, você pode usar o JSF e seja feliz. No entanto, você também pode usar uma grande gama de outras ferramentas (ex: REST + JSP + jQuery) e também ser do mesmo jeito.
No entanto se você quer fazer um site cheio de animações e efeitos, carregamento dinâmico de dados em tempo real, etc, o JSF não é uma boa ideia.
Talvez você decida que o que você precisa é simples o suficiente para que o JSF dê conta e você vai produzir muito bem e mais rápido do que se estivesse usando alguma outra coisa. Até que em uma bela sexta-feira 13 de lua cheia, o cliente chega com um requisito de fazer a sua tela de consulta de situação de venda de produtos que é completamente estática, ter que monitorar em tempo real a atividade do fluxo de provisionamento de venda de produtos, para que o operador não precise ficar dando F5 a toda hora e possa agir imediatamente sem estourar o prazo máximo de 30 minutos para a conclusão da venda. Isso daí você pode fazer com Ajax e jQuery, mas... OH NO!
Olá! Eu concordo com você do jsf gerar o html final e ser um pouco chato de mecher nele. Mas só não entendi quando você falou em quebrar a cara para mecher no css. Você estava falando do JSF puro ou com Primefaces por exemplo? JSF puro realmente não é muito legal, mas com primefaces fica muito melhor. Os temas do primefaces já são legal, e ainda você pode criar seu tema em css no site do jquery tudo visual e depois baixar o css gerado. O que em termos de alteração visual fica bem mais legal.
|
"Não sabendo que era impossível, foi lá e fez." (Jean Cocteau)
Que tal??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 21:26:54
|
prog.tiago
Java Ninja
![[Avatar]](/images/avatar/a71ea93eea0dbc65cc0642882d7153f2.jpg)
Membro desde: 21/03/2010 20:03:58
Mensagens: 266
Localização: São Bernardo do Campo
Offline
|
Desde o início do ano passado, quando comecei a estudar mais a fundo Java, ouço dizer que JSF não é legal.
Resolvi estudar JSF e estou achando o framework muito interessante. Principalmente com PrimeFaces como muitos disseram nesse tópico.
This message was edited 1 time. Last update was at 04/01/2012 21:27:18
|
--
Tiago Silva
@progtiago
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2012 22:01:45
|
lucasmurata
JavaTeenager
![[Avatar]](/images/avatar/27547ca50784fdbb5a6c42f2967aa90d.jpg)
Membro desde: 15/07/2011 14:36:43
Mensagens: 158
Offline
|
Posso citar vários motivos do porque o JSF ser um lixo e ser fail. Motivos técnicos, pragmático, comunitario e pessoal.
Primeiro gostaria de salientar, antes que digam que nao conheço o framework tecnicamete, tenho sim experiencia com JSF 2. Estudei livro e tutoriais, desenvolvi um sistema do zero (que inclusive esta rodando em produção com sucesso e estamos migrando para VRaptor). Usei JSF 2 mais de 1 ano. Entao não é de repente que eu e outros desenvolvedores Java chegamos a esta conclusao do JSF ser ruim. São muitos os desenvolvedores Java com esta visão.
Posso citar aqui alguns motivos rapidamente para que o meu post nao fique grande:
1 - Dependecia excessiva de biblioteca de terceiros. Tente desenvolver voce mesmo seus componentes sem usar Prime, Open ou Richfaces. Para isso voce precisa entender o ciclo de vida de uma requisicao em JSF, e criar voce mesmo seus componentes em cima desse ciclo que nao é nada elegante. Ah, faz assim, cria um componente que renderiza rapido no browser e que trabalhe com requisicoes GET, PUT ou DELETE. Boa sorte.
2 - Voce ja lidou com um usuario de sistema? Voce esta usando seu componente pronto em Primefaces. Seu cliente pede pra voce mudar uma coisa no seu Datatable. Boa sorte com as gambiarras. Ou faz o seguinte: espere por uma atualizacao do Rich ou Primefaces que demoram eternidade para ver se vem com a mudanca.
3 - Impressao que da é que JSF nao foi desenhado para WEB. HTTP? REST? HTML, CSS e JS? XHTML do JSF 2 é um xml sem flexibilidade. Tente ter um controle fino de Javascript, de Ajax e de CSS. Tente estilizar seus componentes. Voce verá estrelinhas rodando na cabeça.
4 - Mistura entre cliente-side e server-side, acho que este é o seu pior ponto. Nao há transparencia. Voce chama componete da View no seu ManagedBean, e chama ManagedBean no seu View. Atualmente eu utilizo uma arquitetura que me permite independecia entre Client e Server usando VRaptor e Rails. O desenvolvimento Web tende a isso.
5 - Muita imaturidade para um projeto que esta ai desde 2003. Sao quase 9 anos. Nao vejo amadurecimento. Na web a evolucao é muito rápida. Menos com JSFail que é um framework mal acabado. 9 anos pra sair da versao 1 pra 2?
6 - Ele é Statefull e depende muito de sessions por ser component-based.
7 - Ele é um atrativo para os novatos e para os que nao gostam de estudar. "Olha! É tao simples. Basta esta tag e aparece esse componente!!" e caem na armadilha.
8 - Pesquise no proprio GUJ quantos e quantos topicos sobre, por exemplo, atualizar uma combobox com outro, combobox aninhados, atualizar datatable, etc, em JSF. Sao muitos desenvolvedores batendo a cabeça numa coisa que com jQuery + Ajax faria rapidamente.
9 - Sucetivel a POG, mesmo voce seguindo boas praticas no backend.
10 - Quase impossivel de integrar com outras tecnologias. Uma vez JSF, seu projeto sera JSF.
E posso citar tambem outros motivos.
Olha aqui uma lista de grandes figuras e desenvovedores Java criticando JSF (citacoes de 2004 a 2011): http://ptrthomas.wordpress.com/2009/05/15/jsf-sucks/ (JSF Sucks). Tem inclusive o video do James Gosling, pai do Java dizendo: "I hate JSF with a passion" - Eu odeio JSF com paixao. Isso pode te ajudar a se definir tecnicamente o que é mais importante.
Ponto positivo do JSF:
1 - Fazer CRUD. Ok, voce vai viver de CRUD?
Hoje tem tanta coisa legal pra aprender e usar nos seus projetos. Largue o JSF, livre-se enquanto é tempo. Estude frameworks Restful como Vraptor, Rails, Grails, Play, aprenda Javascript (de verdade), para view use Extjs, jQuery UI, YUI, Dojo toolkit. Faça o que quiser. Mas nao contribua para que este cancer chamado JSFail se alastre na comunidade Java.
|
|
|
 |
|
|
|
|