JSF X Struts  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
fmeyer
Moderador
[Avatar]
Membro desde: 22/02/2005 17:26:29
Mensagens: 1583
Localização: Sao Paulo
Offline

Boa noite pessoal e saudaçoes.

Venho acompanhando em diversas revistas sobre java uma questão sobre:
*Qual tecnologia será melhor para trabalhar com o controller JSF ou Struts
*Para que esta começando, Vale a pena hoje se especializar em Struts
*Quanto custará (em termos de trabalho) portar um sistema Struts para JSF
*A apache software fundation diz que não vai abondonar o Struts, mas como usar uma implementação que não é a implementação de referencia

Achei interessante o assunto e costaria de po-lo em discussão, pois na revista
o feedback é maior do que no forum

[]'s e Bom java ...

Fernando

Fernando Meyer http://fernandomeyer.com
[Email] [WWW]
fcmartins
Java Ninja
[Avatar]

Membro desde: 12/01/2005 09:40:43
Mensagens: 293
Localização: Bragança Paulista- SP
Offline

Qual tecnologia será melhor para trabalhar com o controller JSF ou Struts
Eu pretendo continuar com o Struts. Apesar do JSF ser padrão, não há suporte muito grande a ele ainda (exceto da Sun). Além disso o JSF é muito parecido com o Struts, então p/ quem vai aprender um framework MVC, eu acho melhor aprender o Struts e depois estudar o JSF.

Para que esta começando, Vale a pena hoje se especializar em Struts
Claro, estou sempre olhando as vagas de emprego e o Struts é disparado o mais requisitado. Mas isso não quer dizer que você não deva estudar outros frameworks, a paranóia é sua aliada.

Quanto custará (em termos de trabalho) portar um sistema Struts para JSF
Acho que não faz sentido portar o que funciona. Se é um sistema novo é o caso de você analisar qual alternativa é a melhor, justamente para evitar o custo de portar.

A apache software fundation diz que não vai abondonar o Struts, mas como usar uma implementação que não é a implementação de referencia
A tendência é o Struts se "fundir" com o JSF.

Almanaque

{SCJP 1.4}
{SCWCD 1.4}
fmeyer
Moderador
[Avatar]
Membro desde: 22/02/2005 17:26:29
Mensagens: 1583
Localização: Sao Paulo
Offline

por experiencia 2 meses depois ... respondida minha pergunta ...
nem um nem outro. .. use webwork ... hehehe

Fernando Meyer http://fernandomeyer.com
[Email] [WWW]
Thiago Senna
GUJ Master
[Avatar]

Membro desde: 11/02/2005 08:08:02
Mensagens: 1595
Offline

Que situação hein???

Em minha opinião, JSF só vai embalar quando as IDE's derem um suporte melhor para o desenvolvimento do mesmo, e é exatamente o que elas estão buscando. Mas para JSF embalar também precisamos de algumas experiências desta tecnologia em produção.

Até onde sei, o JSF não se propões a ser um super framework para controler a camada de controle, e sim para criar componentes de interação com o usuário via brownser. Sendo que este é o foco do JSF, é provável que outros frameworks específicos para a camada de controle continuem a serem produzidos., e se integrem com o JSF. Desta forma, estariamos fazendo um sitema cinco estrelas, onde o framework mais bém preparado será escolhido para cada uma das responsabilidades do sistema.

Se o JSF se dar bém, outra coisa provavel é que até surjiria outros frameworks para ajudar no desenvolvimento com o JSF.

Considero que os profissionais sempre buscarão qualidade ao invés de produtividade... mas empresas infelizmente não. Precisamos ver no que esta história vai dar. Se a qualidade for o foco, minhas considerações ficam valendo.

Não acredito que estudar apenas Struts seja necessário. Talvez seja melhor mergulhar nos conceitos de um Framework utilizado na camada controle. Estude os patterns que são utilizados dentro do framework e estude como são as aplicações sem o framework. Descubra quais patterns são aplicados para resolver problemas na camada controle. Desta forma, você tera uma base para lidar com qualquer framework web.
Particularmente, não acho dificil aprender a trabalhar com frameworks como WebWork e Struts... a não ser que eles tenham aqueles recursos como DynamicSuperCredidatorValidatorForms.. hehe.. essas coisas só servem para confundir e enganar os programadores. Se limite as necessidades básicas, e em escrever códigos simples e fáceis de entender.

Sendo assim, pegue os frameworks que vc gosta, e tente escolher um para aprender os conceitos e conehce-lo melhor, e como o mercado hoje esta em cima do muro quanto ao JSF, procure acompanhar o desenvolvimento e a repercursão destas novas tecnologias.

Boa Sorte a Todos!
Abraços!
[Email]
Sparcx86
JavaEvangelist

Membro desde: 28/11/2006 10:30:03
Mensagens: 369
Offline

Cara pra mim essa droga de JSF só vai embalar mesmo quando fizerem uma especificação decente. Onde já se viu, não pode dar resubmit em formulário? Aff, então quer dizer que se eu enviar um form uma vez é só uma e acabou? Olha que lixo:

500 Internal Server Error

javax.servlet.jsp.JspException: Duplicate component ID '_id4' found in view.
at com.sun.faces.taglib.jsf_core.ViewTag.doAfterBody(ViewTag.java:191)
at _teste._jspService(_teste.java:114)
[/teste.jsp]
at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.1.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:591)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:515)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:36
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:19
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:26
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:36
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:44
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)


Por favor, isso é ridiculo... framework MVC que não dá resubmit? Putz, pior que vc vai na internet e NINGUÉM, NINGUÉM MESMO te dá uma resposta decente pra esse lixo. É por isso que nego não perde o mito de que Java é dificil. Nâo é dificil programar em Java mas quando dá pau senta e chora porque esse tipo de erro leva horas pra arrumar e quando arruma. AFF
Sparcx86
JavaEvangelist

Membro desde: 28/11/2006 10:30:03
Mensagens: 369
Offline

Ainda prefiro o Struts. O JSF tem idéias interessantes mas ainda não está maduro. Um exemplo que todo mundo já teve é o famoso javax.servlet.jsp.JspException: Duplicate component ID found in view.
AFinal, ainda vai demorar pra Sun soltar algo sem dar pau tão óbvio.
adrianoc
Smalltalk

Membro desde: 30/01/2008 14:02:23
Mensagens: 1
Offline

Cara trabalho com jsf a mais de 2 anos, é muito bom e o desenvolvimento é muito rápido e é ridículo vocês falarem que um framework deste tamanho não aceita resubmit.
WilliamSilva
Moderador

Membro desde: 02/03/2005 11:08:44
Mensagens: 1747
Localização: Santos -SP.
Offline

28/11/2006 10:33:14

= William Silva =
iSHARE - Document Management System
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team