vRaptor x JSF  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
andrepestana
JavaEvangelist
[Avatar]

Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline

Pessoal,

Estou fazendo uma apresentação para demonstrar as características entre os frameworks MVC vRaptor e JSF. Gostaria que vcs me dessem algumas idéias para compará-los levando em conta as vantagens e desvantagens dos 2 frameworks. Seguem alguns pontos que já pesquisei:

vRaptor

1. Trabalha com objetos do modelo ejetando-os para o JSP.
2. Não força o uso de componentes, apenas sugere.
3. Permite e incentiva utilizar JSTL.
4. Trabalha com convenções mas permite configurações.
5. Curva de aprendizado rápida

JSF

1. Trabalha com objetos do modelo e objetos e objetos de sua API.
Necessita que os desenvolvedores aprendam a API do JSF para desenvolver.
2. É necessário usar seus próprios componentes com APIs próprias.
3. Tem compatibilidade com JSTL a partir das versões JSF 1.2 e JSP 2.1. Não é muito indicado usar os dois em conjunto.
4. Trabalha com configurações.
5. Curva de aprendizado média/alta

Quaisquer sugestões são bem vindas.


Pestana
http://andrepestana.wordpress.com/
[Email] [MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

Em outras palavras, vc não está comparando. Pelo que notei, vc levantou os pontos fortes do Vraptor e os pontos fracos do JSF. Se quer comparar seja justo com ambos..

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
andrepestana
JavaEvangelist
[Avatar]

Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline

Peerless,

por isso mesmo estou querendo a opinião de outras pessoas. Gostaria de saber as vantagens que o JSF tem em relação ao vRaptor tb.

Comente aqui as vantagens do JSF, por favor! No final iremos compilar as opiniões de todos.

abraço,

Pestana
http://andrepestana.wordpress.com/
[Email] [MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

Vamos dar um kick de inicio então..

A componentização não é proprietária, e apenas uma API, e pode ser criado componentes ricos com base nela e plugável a ela (richfaces, icefaces, facelets, tomahawk, etc.). -você escolhe o fabricante da sua implementação que mais lhe agradar-, -você pode estender seus componentes e criar os seus próprios a.k.a personalizados-

Possui orientação a eventos, tornando o ciclo de produtividade maior.

Possui bom suporte e documentação, além de uma comunidade ativa.

É um produto da Sun, ou seja, tem credibilidade

Tem total integração com outros frameworks famosos do mercado.. hibernate, toplink (jpa) - spring, struts, etc.







This message was edited 1 time. Last update was at 04/07/2008 12:18:51


follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
andrepestana
JavaEvangelist
[Avatar]

Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline

Legal, Peerless!

É isso mesmo que espero que vc e outras pessoas postem aqui. Características e visões sobre os dois frameworks.

Só tem um "porém":
- JSF não é um produto da Sun e sim uma especificação da Sun. A Sun tem sua própria implementação do JSF mas não podemos que o JSF é um produto. O que vc pode dizer nesse caso é que é incentivado pela Sun e por isso tem credibilidade.

O que podemos dizer sobre Injeção de Dependência no JSF?

Sobre curva de aprendizado? Vcs acham que é média ou grande? (meio subjetivo...)

O que mais podemos ressaltar entre diferenças?

Pestana
http://andrepestana.wordpress.com/
[Email] [MSN]
Emerson Macedo
Virtual Machine Man
[Avatar]

Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline

peerless wrote:Possui orientação a eventos, tornando o ciclo de produtividade maior.

E você pode me dizer onde que tá essa produtividade maior que eu não to vendo?

peerless wrote:Possui bom suporte e documentação, além de uma comunidade ativa.

E o VRaptor não?

peerless wrote:É um produto da Sun, ou seja, tem credibilidade

EJB 2.x também, vamos voltar a usá-lo.

peerless wrote:Tem total integração com outros frameworks famosos do mercado.. hibernate, toplink (jpa) - spring, struts, etc.

E o VRaptor não? Aproveitando, pra que integrar com Struts?

Se você disse que nosso amigo está tendencioso, você está mais ainda.







Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com

"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

andrepestana wrote:Legal, Peerless!

É isso mesmo que espero que vc e outras pessoas postem aqui. Características e visões sobre os dois frameworks.

Só tem um "porém":
- JSF não é um produto da Sun e sim uma especificação da Sun. A Sun tem sua própria implementação do JSF mas não podemos que o JSF é um produto. O que vc pode dizer nesse caso é que é incentivado pela Sun e por isso tem credibilidade.

O que podemos dizer sobre Injeção de Dependência no JSF?

Sobre curva de aprendizado? Vcs acham que é média ou grande? (meio subjetivo...)

O que mais podemos ressaltar entre diferenças?


você não considera a especificacao de um projeto (sua api) um produto?

Eu acho a curva de aprendizado média, assim como a do Vraptor. -minha comparação-

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

Emerson Macedo wrote:
peerless wrote:Possui orientação a eventos, tornando o ciclo de produtividade maior.

E você pode me dizer onde que tá essa produtividade maior que eu não to vendo?

peerless wrote:Possui bom suporte e documentação, além de uma comunidade ativa.

E o VRaptor não?

peerless wrote:É um produto da Sun, ou seja, tem credibilidade

EJB 2.x também, vamos voltar a usá-lo.

peerless wrote:Tem total integração com outros frameworks famosos do mercado.. hibernate, toplink (jpa) - spring, struts, etc.

E o VRaptor não? Aproveitando, pra que integrar com Struts?

Se você disse que nosso amigo está tendencioso, você está mais ainda.


Você foi radical

1 - Quando eu disse em produtividade, não me referi em jsf x vraptor necessariamente. Mas o bom senso cabe no sentido "ter eventos é melhor do que ter actions/commands", não concorda?

2 - Estamos comparando com JSF, certo ?

3 - Você confia mais na Sun ou na empresa X, Y ou Z ? (não é nada contra a Caelum [empresa dos autores do Vraptor], que por exceção tem uma boa credibilidade.)


This message was edited 1 time. Last update was at 04/07/2008 13:28:20


follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
andrepestana
JavaEvangelist
[Avatar]

Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline

ok, ok...

Tá bom, peerless... vc venceu. A especificação do JSF é um produto da Sun... para não confundir com as implementações. Ter várias implementações diferentes poderia ser um ponto positivo (ou não).

mas e quanto à outras características como reutilização de código, testes funcionais, validação?

O que temos mais a dizer?

Pra não dizer mais que sou tendencioso, temos um ponto a favor do vRaptor pelo número de ferramentas que suportam JSF e que facilitam o desenvolvimento como o Red Hat Developer Studio ou JDeveloper. Alguém pode citar o nome de outras ferramentas?


Pestana
http://andrepestana.wordpress.com/
[Email] [MSN]
Emerson Macedo
Virtual Machine Man
[Avatar]

Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline

Po peerless, não fui radical não, você que foi meio tendencioso ...

Minhas opiniões sobre seus pontos:

peerless wrote:1 - Quando eu disse em produtividade, não me referi em jsf x vraptor necessariamente. Mas o bom senso cabe no sentido "ter eventos é melhor do que ter actions/commands", não concorda?

Não concordo não. Isso depende bastante. Acredito que a abstração do framework que te dá a produtividade, seja ela Component-Based ou Action-Based. o Próprio VRaptor é prova disso. Ridiculamente simples. O JSF com o Seam pode ser bem simples também. Porém, em aplicações onde o método http faz diferença (e.g. aplicações REST), JSF pode ser um problema.

peerless wrote:2 - Estamos comparando com JSF, certo ?

Essa pergunta contradiz a primeira pergunta. Sim estamos comparando com JSF.

peerless wrote:3 - Você confia mais na Sun ou na empresa X, Y ou Z ? (não é nada contra a Caelum [empresa dos autores do Vraptor], que por exceção tem uma boa credibilidade.)

Confio no produto que o mercado confia e usa. Exemplos: Hibernate, O próprio Struts 1 quando não existia nada, ANT, Log4J, Tomcat, JBoss, Jetty, Maven, XFire, Xtream, [coloque aqui seu framework/biblioteca que não foi criado pela sun, mas sem estourar o buffer, pois existem zilhões ]
Isso prova que confiar na Sun não é garantia de sucesso, muito menos de usar um produto bom. Basta lembrar que a Sun tem grande culpa nas arquiteturas BOLOVO usada nas empresas a nível mundial, e não esqueçamos dos EJBs 2.x (Com aqueles EntityBeans desgraçados) hehehe

Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com

"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Ataxexe
JavaEvangelist
[Avatar]

Membro desde: 11/10/2007 15:34:17
Mensagens: 418
Localização: Brasília
Offline

Eu acho que a melhor comparação a ser feita é a comparação do Rodrigo Yoshima no tópico "JSF é o futuro nas empresas????". Recomendo dar uma passada por lá, especialmente a página 11.

Eis o post do Rodrigo:

rodrigoy wrote:Olá Amigos... discussãozinha acirrada. Bem, posso estar completamente maluco e falando a maior besteira da minha vida, mas vocês não acham que a discussão toda roda em cima de framework web component-based vs action-based?

Vamos lá... desenvolví várias aplicações em Struts 1, ainda não conhecí Struts 2, ví exemplos do WebWork e do Mentawai, ainda não ví do VRaptor... Basicamente Action Frameworks trabalham de maneira similiar e abstrações parecidas. Não vou citar Rails pois não conheço tanto para fazer comparações.

O que quero colocar aqui é que JSF, ou qualquer framework component based, trabalha com uma abstração melhor que frameworks action-based, e melhores abstrações são mais fáceis de serem construídas e mantidas. Deixa eu pegar um exemplo Mentawai vs SEAM:



Usando o SEAM, essa Action poderia ser um Application Facade:



Os dois exemplos acima fazem a mesma coisa. Antes de comentar vamos às páginas:

Primeiro no Mentawai (partes não interessantes foram cortadas):


No SEAM:



Queria destacar alguns pontos para demonstrar essa questão de "abstrações melhores". Primeiramente, leia a action do Mentawai (pode ser qualquer outro action-framework) e leia a Facade do Seam. Qual lhes parece mais focada na solução do problema? A página inclui um usuário e lista usuários. Qual é mais concisa nesses dois pontos?

E as páginas? O fato de você poder usar a própria entidade na página não é relevante? Não fica mais claro a indicação da ação ficar diretamente no botão?

Minha defesa sobre JSF não é necessariamente para "JSF", mas sim para abstrações melhores. Action Frameworks possuem abstrações fracas. Sempre preciso de alguma coisa que represente um HTML Form (coisas como input.getStringValue("name")). Isso é uma abstração fraca, é algo que não precisaria me preocupar. Pior ainda quando tenho que ter uma classe que represente uma ação como Actions do Struts.

Bem, quero que vocês entendam que não estou criticando Mentawai aqui. Poderia ser qualquer Action Framework e os exemplos seriam parecidos. Na sinceridade? Passei a gostar de fazer sistemas Web em Java quando o SEAM trouxe essa idéia de "Contextual Components". Não é a bala de prata, pode dificultar a escalabilidade, mas simplesmente é uma abstração melhor. Como estou fazendo sistemas hoje que pretendo viver deles nos próximos 10 anos, quero boas abstrações.

Até!!!!

This message was edited 1 time. Last update was at 04/07/2008 14:18:24


Marcelo Guimarães

https://github.com/ataxexe
http://sourceforge.net/projects/trugger
http://www.youtube.com/user/ataxexe
http://www.flickr.com/photos/ataxexe
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

andrepestana wrote:ok, ok...

Tá bom, peerless... vc venceu. A especificação do JSF é um produto da Sun... para não confundir com as implementações. Ter várias implementações diferentes poderia ser um ponto positivo (ou não).

mas e quanto à outras características como reutilização de código, testes funcionais, validação?

O que temos mais a dizer?

Pra não dizer mais que sou tendencioso, temos um ponto a favor do vRaptor pelo número de ferramentas que suportam JSF e que facilitam o desenvolvimento como o Red Hat Developer Studio ou JDeveloper. Alguém pode citar o nome de outras ferramentas?



Deixando claro que eu gosto do vRaptor tbm, mas acabei caindo de paraquedas aqui defendendo o JSF -que também tem seus defeitos-

Mas, chega de vir com o mesmo exemplo do EJB2 -esse exemplo ja está muito manjado para criticar a sun -

Bom, quanto as suas respostas Andre:

É bom sim ter várias implementações de uma mesma especificação, você pode ter inclusive a sua

Qual problema de reutilização do JSF? Ele lhe oferece uma view praticamente O.O., pois como eu disse, você pode estender seus componentes de UI tranquilamente, ou até mesmo criar os seus e decorar (facelets), etc. - Ele da um bom suporte a validação e conversão, oferecendo alguns padrões e uma fácil arquitetura para criação dos seus próprios -esses, facilmente plugáveis no arquivo de configuração do faces-config-

O Eclipse EE ou o Netbeans normal já oferece todo suporte para desenvolver em JSF



follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Emerson Macedo wrote:O JSF com o Seam pode ser bem simples também. Porém, em aplicações onde o método http faz diferença (e.g. aplicações REST), JSF pode ser um problema.


https://restfaces.dev.java.net/
https://javaserverfaces.dev.java.net/

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
Emerson Macedo
Virtual Machine Man
[Avatar]

Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline

Rafael Nunes wrote:
Emerson Macedo wrote:O JSF com o Seam pode ser bem simples também. Porém, em aplicações onde o método http faz diferença (e.g. aplicações REST), JSF pode ser um problema.


https://restfaces.dev.java.net/
https://javaserverfaces.dev.java.net/

Po cara, não gostei muito desse framework não. Achei muita gambiarra pro meu gosto. Ele usa tudo GET pra contornar o problema do JSF usar POST pra tudo.

RestFaces 1.3 documentation wrote:
Where is the JavaServer? Faces problem? JavaServer? Faces components usually submit a POST to the Faces Servlet. POST requests make the resulting page not bookmarkable in general. Our solution uses simple GET requests instead.


Na minha opinião, JSF pra fazer alguma coisa REST permanece fora de cogitação.

Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com

"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
andrepestana
JavaEvangelist
[Avatar]

Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline

Deixando claro que eu gosto do vRaptor tbm, mas acabei caindo de paraquedas aqui defendendo o JSF -que também tem seus defeitos-


Peerless, sei que não existem frameworks perfeitos, apenas existem frameworks mais apropriados para determinadas tarefas ou que por algum motivo nos agradam mais para realizar uma tarefa. O que vc diria que é um ponto fraco ou defeito do JSF?

Os pontos fracos do vRaptor na minha opinião são:
-Baixa popularidade
-Ausência de taglibs (eu não acho isso um ponto fraco mas sempre será apontado como ponto fraco)
-Ser relativamente novo (hoje em dia já existem mais de 100 frameworks MVC se tivesse chegado antes teria mais popularidade e confiança)

Na verdade estou criando essa discussão pq estou preocupado com um padrão de desenvolvimento aqui na empresa para escolhermos um framework para desenvolver todos os sistemas daqui para frente. Já está quase certo que será JSF.

Pestana
http://andrepestana.wordpress.com/
[Email] [MSN]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team