| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/07/2005 23:28:43
|
Guilherme Silveira
Administrador
Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline
|
Muito tempo atras na hora de fazer o guj2 pensamos em usar o webwork2 ainda em beta... alem da falta de documentacao e quantidade de bugs na epoca (ainda em beta) o webwork nao garantia certa produtividade que eu precisava.
Hoje em dia, mais de um ano e meio depois me deparo com a seguinte situacao no webwork2:
- ainda falta documentacao clara, sem ser baseada em exemplos. cade o guia de referencia?
- obrigar extender uma classe
- sistema estranhissimo de acessar a sessao programaticamente
- xmls e mais xmls (pelo menos melhores que no struts), desde o xwork ate o components
- dificuldade no ensino. para dar aula o struts ja eh dificil, o webwork nao facilita muito, mas ja quebra algum galho
- necessidade de criar uma classe intermediaria para usar EL, jstl etc, gambiarra numero 1
- forca usar sua propria taglib (ver item anterior)
Queria marcar minha tristeza aqui e perguntar quem sugere o que. Claro que essa eh a minha experiencia, as vezes algo que eu falei aqui voces tem variacoes melhores..... por favor, novidades?
Att
Guilherme
|
-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/07/2005 23:43:56
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Dia desses eu li uma análize do Matt Raible sobre os vários frameworks e ele apontou uma coisa interessante do WebWork, os desenvolvedores no projeto não parece estar interessados em fazer com que o framework decole. O WW é só um pouco mais novo do que o Struts e poderia muito bem estar em pé de igualdade com ele ou provavelmente na frente, se tivesse se preocupado em "auto-promoção" como o pessoal do Struts fez, tanto em documentação como em apoio de empresas, também como o pessoal do Spring MVC tá fazendo. Talvez daqui a pouco tempo, o Spring MVC junto com JSF sejam os novos "donos" dos frameworks MVC pra wev. Mas vamos aos pontos:
Guilherme Silveira wrote: - ainda falta documentacao clara, sem ser baseada em exemplos. cade o guia de referencia?
O livro está pra sair, mas talvez já seja meio que tarde demais, especialmente porque ninguém sabe como é que ele vai tratar a validação. Eu, pessoalmente, gosto primeiro de entender como a coisa funciona pra depois começar a mexer, e os exemplos do WW são exatamente o contrário, eles fazem a mágica e depois você que se lasque pra descobrir quando aparecerem os primeiros bugs.
Guilherme Silveira wrote: - obrigar extender uma classe
Eu acho que tanto faz, se der pra testar fora do container, está ótimo, se não der, lascou (mas dá né?).
Guilherme Silveira wrote: - sistema estranhissimo de acessar a sessao programaticamente
Era uma coisa que eu tava falando com o Sérgio dia desses, pra mim, "esconder" a API de servlets em um framework MVC é trabalho perdido, o programador deve ser inteligente o suficiente pra não amarrar a sua lógica de negócios a API, mas em muitos casos, a execução da lógica requer o acesso a dados que estão na session, no contexto e aí já viu, tome gambiarra.
Guilherme Silveira wrote: - necessidade de criar uma classe intermediaria para usar EL, jstl etc, gambiarra numero 1
- forca usar sua propria taglib (ver item anterior)
Eu diria que esses são o pior de todos, ninguém quer aprender mais uma "EL", quer usar a que é padrão e vai valer em todos os frameworks.
Eu to pulando do Struts e tinha pensado em ir pro WebWork, mas fui atacado pelo Spring e to migrando pra ele, inclusive porque o pessoal se preocupou em montar um conjunto de facilidade pra trabalhar com JSF, que era com o que eu realmente queria trabalhar
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 00:31:07
|
carneiro
JavaEvangelist
![[Avatar]](/images/avatar/18b91b19f6a289e7708da7f778b2c609.jpg)
Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline
|
- necessidade de criar uma classe intermediaria para usar EL, jstl etc, gambiarra numero 1
Ah, por isso que dava pau quando eu usava EL no WebWork!
Mauricio, concordo com sua afirmação sobre EL. Agora, por que você está "pulando do Struts" ?
Um abraco
|
Davi Luan Carneiro
Desenvolvedor JEE |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 00:39:42
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
carneiro wrote:- necessidade de criar uma classe intermediaria para usar EL, jstl etc, gambiarra numero 1
Ah, por isso que dava pau quando eu usava EL no WebWork!
Mauricio, concordo com sua afirmação sobre EL. Agora, por que você está "pulando do Struts" ?
Um abraco
Porque ele tem um suporte muito fraco a transformação de valores, a JSF e é complicado fazer testes unitários nos Actions. Mas ele ainda é referência, especialmente em validação, ninguém bate ele nisso, até a galera do Spring "importou" o Validator
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 01:03:45
|
carneiro
JavaEvangelist
![[Avatar]](/images/avatar/18b91b19f6a289e7708da7f778b2c609.jpg)
Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline
|
Eu posso usar o Spring MVC apenas, desacoplado dos outros componentes do Spring?
|
Davi Luan Carneiro
Desenvolvedor JEE |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 01:06:37
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
carneiro wrote:Eu posso usar o Spring MVC apenas, desacoplado dos outros componentes do Spring?
Pode, só o container IoC é obrigatório.
Mas você tem algum motivo especial pra não usar os outros componentes do Spring?
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 01:14:12
|
carneiro
JavaEvangelist
![[Avatar]](/images/avatar/18b91b19f6a289e7708da7f778b2c609.jpg)
Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline
|
Bem, o problema é que eu não sei o que é essa tal de Programação Orientada a Aspectos, que pelo visto é a base do Spring, e eu tenho a impressão que o Spring é um pouquinho avancado pra mim...
Talvez seja só impressao, hehe!
|
Davi Luan Carneiro
Desenvolvedor JEE |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 01:18:20
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
carneiro wrote:Bem, o problema é que eu não sei o que é essa tal de Programação Orientada a Aspectos, que pelo visto é a base do Spring, e eu tenho a impressão que o Spring é um pouquinho avancado pra mim...
Talvez seja só impressao, hehe!
Na maioria das vezes você nem vai ver a AOP funcionando, ela costuma ficar mais por debaixo dos panos. E o Spring é muito besta de aprender, pega um livro bom, como o Pro Spring o o Spring Live e pronto, é só meter a cara.
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 04:52:44
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Papo serio: antes de avaliar qualquer framework Web em Java, passe uma tarde fazendo uma aplicacao com Ruby On Rails. Vao dizer que eu tou fazendo propaganda, sendo extremista, blablabla, mas eh o melhor conselho que eu posso oferecer a quem esta programando pra web: pelo menos teste o Rails.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 07:39:53
|
Thiago Senna
GUJ Master
![[Avatar]](/images/avatar/78719f11fa2df9917de3110133506521.jpg)
Membro desde: 11/02/2005 08:08:02
Mensagens: 1595
Offline
|
cv wrote:Papo serio: antes de avaliar qualquer framework Web em Java, passe uma tarde fazendo uma aplicacao com Ruby On Rails. Vao dizer que eu tou fazendo propaganda, sendo extremista, blablabla, mas eh o melhor conselho que eu posso oferecer a quem esta programando pra web: pelo menos teste o Rails.
Humm.. nunca fiz, mas olhei aquele artigo que compara j2ee com Rails, e eu vou fazer isso que o CV falou!
E não é por nada naum, pelo que vi, o Rails arregaça a pau mesmo! Mas estive pensando um umas coisas doidas aqui, e acho que em breve poderíamos ter algo muito parecido com o Rails em java, e talvez, nem seja muito complicado!
Em breve quero escrever um artigozinho sobre o assunto! Daí eu vou postar aqui pra galera fazer umas píadas! kiakkk
Abraços!
Thiago
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 09:21:12
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
O objetivo do Mentawai é resolver todos esse problemas do WebWork. Pelo menos é o que estamos tentando fazer. Veja meus comentários abaixo:
Guilherme Silveira wrote:
- ainda falta documentacao clara, sem ser baseada em exemplos. cade o guia de referencia?
Exemplos são fundamentais. O site do Mentawai é todo baseado em exemplos claros.
Guilherme wrote:
- obrigar extender uma classe
Não tenho certeza quanto ao WW, mas no Mentawai vc pode tranquilamente implementar Action que tudo vai funcionar. A vantagem de estender BaseAction é que vc não precisa implementar os vários métodos setters da action (setInput, setOuput, setSession, etc) e pode acessar esses caras através de variáveis protected.
Guilherme wrote:
- sistema estranhissimo de acessar a sessao programaticamente
Isso é uma coisa básica e se for complicado pelo amor de Deus !!! Não pode de jeito nenhum complicar o básico. No mentawai a session está sempre disponível para a action, podendo ser acessada de forma ridícula.
Guilherme wrote:
- xmls e mais xmls (pelo menos melhores que no struts), desde o xwork ate o components
No XML please !!!! (http://www.javaworld.com/javaworld/jw-07-2005/jw-0718-mentawai.html)
Guilherme wrote:
- dificuldade no ensino. para dar aula o struts ja eh dificil, o webwork nao facilita muito, mas ja quebra algum galho
Acho que isso é por causa da mágica negra do XML. Vai explicar Interceptor do WW pra alguém! Agora dá uma olhada nos filtros do Mentawai. Até uma criança aprende aquilo. (http://mentawai.lohis.com.br/filters.jsp)
Guilherme wrote:
- necessidade de criar uma classe intermediaria para usar EL, jstl etc, gambiarra numero 1
- forca usar sua propria taglib (ver item anterior)
No Mentawai vc pode user JSTL, EL, Velocity. Pode chamar qualquer taglibs de dentro do velocity ou de dentro do JSP. Pode misturar Velocity com JSP (se realmente vc souber o que está fazendo!)
http://mentawai.lohis.com.br/velocity.jsp
Guilherme wrote:
Queria marcar minha tristeza aqui e perguntar quem sugere o que. Claro que essa eh a minha experiencia, as vezes algo que eu falei aqui voces tem variacoes melhores..... por favor, novidades?
Se vc quiser dar uma olhada no Mentawai e ajudar com críticas e sugestões seria ótimo. Tua experiência com VRaptor, WebWork, Struts, etc seria de grande valia na hora de dar suas opiniões.
E veja bem. Não estou falando que o Mentawai é melhor que o WebWork. Só estou falando que é 10 vezes mais simples e intuitivo!
This message was edited 1 time. Last update was at 21/07/2005 09:21:38
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 09:57:32
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
Não acesse a Session oras. Declare um componente com o lifecycle "bounded" à sessão e injete-o em suas ações. Pronto!
Quanto a XML de configuração ... cara, depois de tudo arrumado bastam 3 linhas para cada action. E ainda tem um exelente plugin pra fazer isso para você. De uma maneira ou de outra você tem que configurar o framework, não importa se é com annotations, com xml, com nomenclatura.
E que classe intermediária??
Sobre ensinar, sério, acho bastante simples. Ação é executada, beans são populador, retorna uma string indicando o resultado e fim!
This message was edited 1 time. Last update was at 21/07/2005 09:57:47
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 10:07:19
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
LIPE wrote:Não acesse a Session oras. Declare um componente com o lifecycle "bounded" à sessão e injete-o em suas ações. Pronto!
Pra quê esconder a API de servlets?
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 10:10:44
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
LIPE wrote:
Não acesse a Session oras. Declare um componente com o lifecycle "bounded" à sessão e injete-o em suas ações. Pronto!
E quando eu precisar invalidar a sessão ?????
Eu posso limpar o conteúdo do componente, mas ainda assim estarei usando a mesma sessão.
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2005 10:15:06
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Maurício Linhares wrote:
LIPE wrote:Não acesse a Session oras. Declare um componente com o lifecycle "bounded" à sessão e injete-o em suas ações. Pronto!
Pra quê esconder a API de servlets?
Jamais faça um mock de uma classe que você não controla. Nos teus sistemas web você que implementa HttpSession? Não ter que lidar com API de plumbing é uma mão na roda para testar o código.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
|
|