| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 15:48:55
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 16:17:00
|
edsonlopes
JavaChild
![[Avatar]](/images/avatar/6b8027f8d0ccac45349d84a80667a0bc.jpg)
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...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 16:25:24
|
johnny quest
JavaEvangelist
![[Avatar]](/images/avatar/21dc2ceb80622778fa73adb4a09d1ceb.png)
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 16:34:12
|
JavaFXMan
Debugger
![[Avatar]](/images/avatar/4c4164fe7947c9c4630d57f45b52234a.png)
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. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 16:45:29
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 16:50:20
|
rsakurai
JavaTeenager
![[Avatar]](/images/avatar/e75d0b169ffeb90d4b805790ce68a239.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 17:36:03
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 17:40:02
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 18:27:47
|
benflodin
JavaGuru
![[Avatar]](/images/avatar/0f6b1f657ac30ab76519ed4c677e9909.jpg)
Membro desde: 04/06/2006 13:50:18
Mensagens: 223
Offline
|
http://www.playframework.org
|
think Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 18:51:10
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 19:00:31
|
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...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 20:03:05
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 22:21:33
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/03/2011 23:12:54
|
lucas4p
Entusiasta Java
![[Avatar]](/images/avatar/08b3186ef02861063cce5c619add9c03.jpg)
Membro desde: 11/08/2010 14:32:35
Mensagens: 20
Offline
|
Use Vraptor3 HTML/CSS e JAVASCRIPT =D
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/03/2011 02:20:35
|
altitdb
JavaEvangelist
![[Avatar]](/images/avatar/6260fe7b21d72d3521d999c79fe01fc7.jpg)
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 |
|
|
 |
|
|