Crise com JSF  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Lucas Emanuel
GUJ Master

Membro desde: 09/08/2009 23:48:57
Mensagens: 1143
Localização: Heap
Offline

Estou criando este tópico para ver alguem ja passou por isso, e quem sabe, para ajudar a todos que estão passando por mesmo problema.


Eu já trabalhei em projetos com JSF 2, Struts 1.x e 2.

Hoje eu tenho projetos em JSF 2, que podemos considerar como crítico (24X7), clusterizado .

Gostei do JSF 2, é fácil, produtivo, bonito... Afinal de contas..É especificação..sic..

No entanto, acho que me decepcionei. Ele é amarrado e tem cheiro de POG. Usando ele ficamos escravos de componentes. Escravos de biblioteca de terceiros. JSF 2 é atraente. Mas ele é sujo. Tonelada de códigos sujos gerados. milhoes de JS importados. Compromete a performance. Já que front-end é um dos maiores problemas de performance (vide o livro: High Performance Web Sites: Essential Knowledge for Front-End Engineers )

Com JSF não temos liberdade na view. Teve projetos que perdi 3 dias de trabalho por causa de bugs de renderização. Coisa que se fosse html, css e jquery resolveria em poucas horas. Ele foi inspirado pelo Aspx que é outro POG. Essa questão de ligar o Model pelo Evento é bacana para Desktop. Web não é desktop. Web é ação, é requisição, é reposta, tudo por http.

Será que é coisa de momento? Ou realmente devo mudar de foco?

Grato.

This message was edited 1 time. Last update was at 23/03/2011 15:49:17

edsonlopes
JavaChild
[Avatar]

Membro desde: 10/06/2006 17:27:36
Mensagens: 116
Localização: Franca - SP
Offline

Não tenho uma resposta para você.
Mas essa é uma bela reflexão...
[WWW]
johnny quest
JavaEvangelist
[Avatar]

Membro desde: 01/02/2010 10:48:39
Mensagens: 372
Offline

Nesse caso o jeito é voltar a utilizar Struts.

Nenhuma tecnologia serve para todos os problemas.
[ICQ]
JavaFXMan
Debugger
[Avatar]

Membro desde: 13/02/2009 16:35:53
Mensagens: 55
Localização: Teresina-PI
Offline

Eu acho o seguinte: Em qualquer que seja o framework, orientado a eventos ou a ação, a POG é por conta do programador. JSF hoje é um framework mais utilizada pela comunidade que desenvolve para web e tem crescido cada vez mais.
Dizer que fica escravo dos componentes é não ter entedido a filosofia do framework. JSF, como você mesmo disse, é apenas uma especificação e a implementação fica a critério de quem o fizer.

JS importados, CSS, ou html gerado não seria um trabalho que você iria fazer na mão e o framework gera pra você? Isso não é do framework, faz parte do desenvolvimento web em java como o todo. Nunca programei com Struts, mas lá certamente deve existir um conjunto de TAGLIBS, certo? Essas páginas com essas taglibs devem ser transformadas em HTML para que o browser entenda, ou seja, código gerado novamente.

JSTL? Também são TAGLIBS que vão virá código HTML.

Bom, sobrou programar em java pra web com apenas Servlet e JSP. Que tal?

O que quero dizer é que esses framework vieram para de alguma forma tornar o desenvolvimento web mais produtivo e elegante. Por exemplo, quando desenvolvemos com JSF2 e Primefaces, os componentes são os mesmo do JQuery apenas com uma facilidade maior de uso e com a possibilidade de vincular componentes com atributos de objetos java.


Abraços.


http://www.quebrandoparadigmas.com
Wagner Borges
Tutoriais Java, JSF2, PrimeFaces e afins.
[WWW] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Sinceramente?

Depois de trabalhar com Java e Web há anos, e vendo o pessoal reclamar da dificuldade de aprender, e acompanhar tantas tecnologias, PHP, Cold Fusion, Struts 1 e 2, Spring MVC, Wicket, JSTL, JSF, Seam, Tapestry, GWT, Django, Rails, Grails, Lift, etc....

Quer saber de verdade mesmo?

Misturar código server-side com client-side sempre dá merda.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
rsakurai
JavaTeenager
[Avatar]

Membro desde: 09/05/2008 09:42:15
Mensagens: 170
Offline

Oi Lucas,

Concordo com vc que fica um pouco mais pesado a parte web, mas vc esta usando o JSF para fazer aplicação de interface mais rica, com mais opções de componentes e tudo mais..

Com relação a ser escravo de bibliotecas de terceiros hj vc já tem algumas bibliotecas muito boas, se não quer usar eles vc mesmo pode criar seus componentes.

O que vc pode fazer para tentar melhorar a performance é verificar se precisa de todos os componentes ricos na tela, se pode compactar os .css, .js e requisições.

No começo vc apanha um pouco para aprender como usar as tags do JSF, as vezes acaba caindo em algum bug de componentes de terceiro (o que normalmente é resolvido de forma rápida) e demora um pouco até perceber ou encontrar uma outra forma (não POG) de obter um resultado similar.

Eu acredito que esse problema de perfomance principalmente na web é porque a Internet que usamos é uma carroça e precisamos melhorar na aplicação o que não conseguimos com o serviço de Internet.

www.universidadejava.com.br
[WWW]
Lucas Emanuel
GUJ Master

Membro desde: 09/08/2009 23:48:57
Mensagens: 1143
Localização: Heap
Offline

JavaFXMan wrote:

JS importados, CSS, ou html gerado não seria um trabalho que você iria fazer na mão e o framework gera pra você? Isso não é do framework, faz parte do desenvolvimento web em java como o todo. Nunca programei com Struts, mas lá certamente deve existir um conjunto de TAGLIBS, certo? Essas páginas com essas taglibs devem ser transformadas em HTML para que o browser entenda, ou seja, código gerado novamente.



Você já viu quantos imports de JS o Primefaces faz? Se fosse fazer com jQuery puro, poderia juntar tudo em um arquivo só e comprimir.

JavaFXMan wrote:
JSTL? Também são TAGLIBS que vão virá código HTML.


JSTL não envolve CSS e JS diferente de tags do Primefaces ou similiar, por exemplo


JavaFXMan wrote:
Bom, sobrou programar em java pra web com apenas Servlet e JSP. Que tal?


Pensei seriamente nisso. Pelo menos tenho total liberdade. Além de Servlet puro (que na versão do JEE 6 está muito bom), pensei muito no VRaptor 3.


JavaFXMan wrote:
O que quero dizer é que esses framework vieram para de alguma forma tornar o desenvolvimento web mais produtivo e elegante. Por exemplo, quando desenvolvemos com JSF2 e Primefaces, os componentes são os mesmo do JQuery apenas com uma facilidade maior de uso e com a possibilidade de vincular componentes com atributos de objetos java.


Eu disse que JSF 2 com as bibliotecas são produtivas, não nego.

Quanto a ser mesmo componente de jQuery, concordo. Mas a forma de manipular é diferente. É só entrar nos foruns de Prime ou Richfaces que voce vê zilhoes de bug com DataTable, Calendar, etc, que ainda nao foram revolvidos, porque nao temos controle da renderização. Até tem, mas com um pouco de dificuldade.

Enfim, não quero tacar pedra em JSF, como disse, eu o uso. E usarei em futuros projetos.

Mas sinceramente estou frustado com JSF. E são opiniões que eu quero mesmo.

Valeu.
Lucas Emanuel
GUJ Master

Membro desde: 09/08/2009 23:48:57
Mensagens: 1143
Localização: Heap
Offline

Bruno Laturner wrote:

Misturar código server-side com client-side sempre dá merda.


Oi, é o que o JSF faz, e estou sentindo na pele, rsrs.

This message was edited 1 time. Last update was at 23/03/2011 17:40:36

benflodin
JavaGuru
[Avatar]

Membro desde: 04/06/2006 13:50:18
Mensagens: 223
Offline

http://www.playframework.org

think Java
[WWW] [MSN]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

O que eu sinto com todos os frameworks MVC é que eles são lindos, maravilhosos, desde que você não precise fazer nada que eles não dão suporte "nativo".

A partir do momento que vc precisa fazer uma coisinha, que escapa um pouco do que o framework te oferece, se prepare para ficar irritado e gastar bastante tempo criando workarounds para fazer o que você precisa.

É claro que muita coisa é automatizada, te dá produtividade e tal, mas tem hora que parece não compensar.

[]'s

This message was edited 1 time. Last update was at 23/03/2011 18:53:30


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
marcelo_emanoel
Debugger

Membro desde: 01/07/2004 16:42:17
Mensagens: 62
Localização: Campina Grande
Offline

benflodin wrote:http://www.playframework.org


me pareceu uma versão em java do rails...
raf4ever
GUJ Master

Membro desde: 30/01/2005 01:34:51
Mensagens: 1755
Localização: Fortaleza-Ce
Offline

Lucas Emanuel wrote:
Hoje eu tenho projetos em JSF 2, que podemos considerar como crítico (24X7), clusterizado .


Não considera um risco desnecessário usar uma tecnologia ainda em fase de amadurecimento num projeto critico?

Uso o JSF 1.2 com RichFaces,Spring e JPA em projetos médio/grande porte e não tenho do que reclamar.

Rafael Roque
Quis custodiet ipsos custodes?
IBM Certified SOA Associate
ITIL Foundations Certified
SCEA(I)
SCWCD
SCJP
[Email] [MSN]
Lucas Emanuel
GUJ Master

Membro desde: 09/08/2009 23:48:57
Mensagens: 1143
Localização: Heap
Offline

raf4ever wrote:
Lucas Emanuel wrote:
Hoje eu tenho projetos em JSF 2, que podemos considerar como crítico (24X7), clusterizado .


Não considera um risco desnecessário usar uma tecnologia ainda em fase de amadurecimento num projeto critico?

Uso o JSF 1.2 com RichFaces,Spring e JPA em projetos médio/grande porte e não tenho do que reclamar.


Eu tive um pouco de receio sim.

Mas eu já tinha um projeto em JSF 2 rodando (Sistema de Ponto), e rodou legal. Portanto partimos novamente com JSF 2 (Prime+ JPA + EJB 3.1 +Glassfish 3.1) neste projeto "mais pesado". Além disso usamos CDI(nativo) e Prettyfaces, e até o momento nao tivemos problemas de estabilidade.

Pode ser uma sensação pessoal. Mas, depois de 3 projetos com JSF, achei ele amarrado. Não sou o primeiro a dizer isso por aqui.

This message was edited 1 time. Last update was at 23/03/2011 22:25:13

lucas4p
Entusiasta Java
[Avatar]

Membro desde: 11/08/2010 14:32:35
Mensagens: 20
Offline

Use Vraptor3 HTML/CSS e JAVASCRIPT =D
altitdb
JavaEvangelist
[Avatar]

Membro desde: 12/08/2009 20:51:17
Mensagens: 344
Offline

Não penso dessa forma.

Comecei a pouco tempo com JSF 2.0, e tinha trabalhado com 1.2 à algum tempo atras, e percebi que ele não é tão facil.
Mas muitas coisas que você diz que é um "Bug" na verdade são instruções (Coisas) que você fez de forma incorreta por não conhecer a fundo o próprio JSF (Ciclo de vida, árvore de componentes, converters, validators, etc).

JSF é bom, mas não é pra qualquer um não. Penso assim.

xD~~

Oracle Certified Java Programmer 6
Blog www.altieresdematos.com.br
www.nfexpresso.com.br (Sua NF-e de forma fácil)
@altitdb
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team