Mais uma comparação entre frameworks web

Muito boa esta comparação entre frameworks feita pela zeroturnaround. Ou pra quem não tem paciência, olhe direto o resultado da comparação

Compara os frameworks Spring MVC, Grails, Vaadin, GWT, Wicket, Play, Struts e JSF. Ainda estou no Spring e não sabia que era o mais usado e um dos piores.
Melhor começar a rever alguns conceitos.

esse post vai dar o que falar.rsrs

Obrigado por compartilhar o material. Muito bom saber esse tipo de coisa. Estava pensando em aprender Spring, mas me desmotivei um pouco depois de ler esse material, estou mais interessado em aprender Grails agora.

Legal a comparação, embora não esteja certo se os resultados devam ser considerados ao "pé da letra".
O interessante ao meu ver é não ficar preso apenas a um framework.

Muitos novatos querem começar logo a programar usando JSF(ou outro), sem ao menos ter estudado web/servlet/jsp, passei por isso. Acaba não sabendo o que está acontecendo, vira um mero utilizador do framework e um imprevisto pode travar seu projeto(até alguém socorrer).

Grato pelo compartilhamento.

Tomem cuidado pessoal. Só dei uma olhada aqui nos resultados e o framework que ele cita é o Spring MVC que é apenas uma parte do framework Spring.

A stack do Spring é muito boa.

Eu tive uma lição: não usar nada baseado em jsf se quiser escrever um software leve e moderno. Uso somente ajax e html5.
O play é ótimo também na minha opinião.

[quote=juliocbq]Eu tive uma lição: não usar nada baseado em jsf se quiser escrever um software leve e moderno. Uso somente ajax e html5.
O play é ótimo também na minha opinião.[/quote]
Desculpe, mas se você utilizar Ajax + HTML 5 de forma incorreta, também terá um sistema moderno, porém, pesado e lento.
Eu penso que os frameworks são como as guitarras, não que uma Gibson tenha a mesma sonoridade que uma Tonante, mas se você sabe como usá-la, com certeza se sairá bem melhor que alguém que não sabe. Ou seja, talvez não seja o framework, seja a forma como se está utilizando o mesmo.
Uma coisa é certa, não existe bala de prata, nada será 100% perfeito para tudo.

[quote=juliocbq]Eu tive uma lição: não usar nada baseado em jsf se quiser escrever um software leve e moderno. Uso somente ajax e html5.
O play é ótimo também na minha opinião.[/quote]

JSF pra aplicações Web eu tbm não utilizo mais, não tenho razão pra isso,

Minha arquitetura preferida hoje sem dúvida é Rest, json pra cima e pra baixo, com HTML5, um bom framework JS(backbone, ember) pra organizar o front-end e bourbon pro scss, o play e vraptor é massa tbm

2 pontos que me chamaram atenção no Play e pra min de extrema importância é a Scalability e Rapid Application Development com nota 5

Mas , afinal , qual framework de controle está dominando o mercado atualmente aqui no brasil.
Eu por exemplo sou da galera que não tem nem um ano de programação,já sabe desenvolver aplicações web com servlets controlando as requisições(logico,tenho muito que aprender ainda) mas tem que escolher seu primeiro framework para estudar e entrar no mercado de trabalho,já estudei vraptor e gostei muito,mas quero escolher entre springs ou struts,porém,parece que o struts está bem fraquinho…

[quote=Slow17]Mas , afinal , qual framework de controle está dominando o mercado atualmente aqui no brasil.
Eu por exemplo sou da galera que não tem nem um ano de programação,já sabe desenvolver aplicações web com servlets controlando as requisições(logico,tenho muito que aprender ainda) mas tem que escolher seu primeiro framework para estudar e entrar no mercado de trabalho,já estudei vraptor e gostei muito,mas quero escolher entre springs ou struts,porém,parece que o struts está bem fraquinho…[/quote]

Mercado de trabalho JSF e Spring sem dúvida.

Se o VRaptor melhorasse um pouco sua documentação e tivesse um marketing mais agressivo, ia brigar de igual pra igual com muitos ali.

Agora, fui direto pro resultado e me espantei ao ver Throughput/Scalability, e pra não tirar conclusões precipitadas fui ver a avaliação do quesito. Ele cita um monte de coisas que o Spring possui pra aumentar a vazão e processamento paralelo, além de facilmente escalar memória com a adição de EHCache. E na avaliação do JSF afirma que pode ser performático, mas que o real ganho só vem com clusterização e que não possui nativamente nada que possibilite o paralelismo, apoiando-se para isso em outros pontos do Java. Com isso, acho que ele fugiu do domínio do JSF como framework web. No fim, atribui a mesma nota aos dois, e acho que foi totalmente incoerente.

[quote=fredferrao][quote=Slow17]Mas , afinal , qual framework de controle está dominando o mercado atualmente aqui no brasil.
Eu por exemplo sou da galera que não tem nem um ano de programação,já sabe desenvolver aplicações web com servlets controlando as requisições(logico,tenho muito que aprender ainda) mas tem que escolher seu primeiro framework para estudar e entrar no mercado de trabalho,já estudei vraptor e gostei muito,mas quero escolher entre springs ou struts,porém,parece que o struts está bem fraquinho…[/quote]

Mercado de trabalho JSF e Spring sem dúvida.[/quote]

Obrigado!

Continuando sobre a vazão, ele comenta que o ponto alto do GWT é o compilador Java para javascript, e por isso parte da lógica pode ser executada no cliente e não no servidor. Daí ele fala que o Struts é todo server-side, e que isso é uma desvantagem. Mas espera aí, com qualquer framework action-based você pode fazer misérias no client-side e só trafegar JSON em requisições assíncronas na maioria das vezes.

Não posso falar do GWT e de vários outros ali pq não conheço mas, se o GWT gera esse javascript pra vc, acredito que não seja tão simples e livre a manipulação do lado cliente. Conheço o JSF e ele não permite tanto controle assim no lado cliente, fora o overhead pra montar a árvore de componentes. No fim, atribui nota maior ao JSF que para frameworks que te deixam fazer tudo no cliente (action-based).

[quote=guilherme_costa]Obrigado por compartilhar o material. Muito bom saber esse tipo de coisa. Estava pensando em aprender Spring, mas me desmotivei um pouco depois de ler esse material, estou mais interessado em aprender Grails agora.[/quote]Cuidado. Não fique apenas com uma opinião.

Isso pode te tornar um péssimo profissional por sempre pegar uma opinião e seguir.

[quote=juliocbq]Eu tive uma lição: não usar nada baseado em jsf se quiser escrever um software leve e moderno. Uso somente ajax e html5.
O play é ótimo também na minha opinião.[/quote]Caracas…

Desde antes de escrever o livro de JSF eu odiava esse tipo de comentário, e ainda continuo…

Pessoal acha que JSF é simples igual JSP, que basta colocar o código na tela e sair usando. Triste ver pessoas falando isso.

[quote=bob_sponja]Se o VRaptor melhorasse um pouco sua documentação e tivesse um marketing mais agressivo, ia brigar de igual pra igual com muitos ali.

Agora, fui direto pro resultado e me espantei ao ver Throughput/Scalability, e pra não tirar conclusões precipitadas fui ver a avaliação do quesito. Ele cita um monte de coisas que o Spring possui pra aumentar a vazão e processamento paralelo, além de facilmente escalar memória com a adição de EHCache. E na avaliação do JSF afirma que pode ser performático, mas que o real ganho só vem com clusterização e que não possui nativamente nada que possibilite o paralelismo, apoiando-se para isso em outros pontos do Java. Com isso, acho que ele fugiu do domínio do JSF como framework web. No fim, atribui a mesma nota aos dois, e acho que foi totalmente incoerente.[/quote]
Pois é. Concordo com tudo, até mesmo a parte do VRaptor.

Acho que se o VRaptor quer crescer mesmo, tá na hora de colocar documentação também inglês e vender para o mundo a idéia.

[quote=Hebert Coelho][quote=bob_sponja]Se o VRaptor melhorasse um pouco sua documentação e tivesse um marketing mais agressivo, ia brigar de igual pra igual com muitos ali.

Agora, fui direto pro resultado e me espantei ao ver Throughput/Scalability, e pra não tirar conclusões precipitadas fui ver a avaliação do quesito. Ele cita um monte de coisas que o Spring possui pra aumentar a vazão e processamento paralelo, além de facilmente escalar memória com a adição de EHCache. E na avaliação do JSF afirma que pode ser performático, mas que o real ganho só vem com clusterização e que não possui nativamente nada que possibilite o paralelismo, apoiando-se para isso em outros pontos do Java. Com isso, acho que ele fugiu do domínio do JSF como framework web. No fim, atribui a mesma nota aos dois, e acho que foi totalmente incoerente.[/quote]
Pois é. Concordo com tudo, até mesmo a parte do VRaptor.

Acho que se o VRaptor quer crescer mesmo, tá na hora de colocar documentação também inglês e vender para o mundo a idéia.[/quote]

Mas tem documentação em inglês:
http://vraptor.caelum.com.br/en/docs/one-minute-guide/ :wink:

[quote=wagnerfrancisco]Mas tem documentação em inglês:
http://vraptor.caelum.com.br/en/docs/one-minute-guide/ ;)[/quote]Uia, quando eu havia olhando (e isso um bom tempo atrás) só havia em português. [=

Bom saber, já posso indicar p/ gringos. [=

Acho interessante e boa essa comparação entre frameworks, mas o Slow colocou uma questão interesante que a adoção no brasil desses frameworks. Como foi respondido JSF e Spring dominam (ainda tem muito struts por ai).

Dos frameworks que conheço (Spring e VRaptor, JSF), se fosse para escolher um framework baseado na pesquisa e no mercado brasileiro eu ira de JSF com Primefaces. Eu acho ele bem produtivo (para um ambiente web) embora Spring e VRaptor deem uma flexibilidade maior em relação a implementação das views, JSF permite a construção de views por quaquer programador.

Para mim Spring e VRaptor são bons, mas é necessário a utilizção de de dois programadores ou que se encontre um muito bom em backend e frontend (não é meu caso)!

Excluindo o mercado, um que achei bastante interessante é o GWT, embora não tivesse tempo de aprende-lo ainda. Contudo acredito com ele ficaria bem dependente do CSS para ter uma interface interessante.

Essa é uma opnião pessoal. Sempre tive problemas para criar interfaces, não sou designer! Mesmo no mundo desktop, criar uma interface fluida era complicado, embora fosse bem mais simples do que utilizando HTML e CSS.

[quote=bob_sponja]Continuando sobre a vazão, ele comenta que o ponto alto do GWT é o compilador Java para javascript, e por isso parte da lógica pode ser executada no cliente e não no servidor. Daí ele fala que o Struts é todo server-side, e que isso é uma desvantagem. Mas espera aí, com qualquer framework action-based você pode fazer misérias no client-side e só trafegar JSON em requisições assíncronas na maioria das vezes.

Não posso falar do GWT e de vários outros ali pq não conheço mas, se o GWT gera esse javascript pra vc, acredito que não seja tão simples e livre a manipulação do lado cliente. Conheço o JSF e ele não permite tanto controle assim no lado cliente, fora o overhead pra montar a árvore de componentes. No fim, atribui nota maior ao JSF que para frameworks que te deixam fazer tudo no cliente (action-based).[/quote]
Concordo plenamente.