VRaptor 3.2.0 Lançado

50 respostas
Lucas_Cavalcanti

Olá pessoal,

depois de quase 14 mil downloads (sem contar com os do maven) e de contribuições da comunidade,
temos o prazer de anunciar o lançamento do VRaptor 3.2.0 com muitas novidades:

  • melhor performance no Spring provider (em torno de 60% melhor que antes)

  • Suporte beta ao Google Guice e ao javax.inject, que tem a performance pelo menos 5x melhor
    que o Spring numa requisição normal

  • reorganização das libs opcionais do vraptor

  • Flexibilidade: agora pra escolher entre Pico, Guice ou Spring basta colocar os respectivos jars no
    WEB-INF/lib. Os jars podem ser encontrados em lib/containers do zip do vraptor

  • nova anotação @Lazy, para os interceptors em que o método accepts não depende do estado interno
    do interceptor. Assim o VRaptor só vai criar instâncias do interceptor quando o accepts retornar true.

  • VRaptor scaffold, similar ao scaffold do Rails, feito pelo Rodolfo Livieiro:
    http://github.com/caelum/vraptor-scaffold
    http://vraptor.caelum.com.br/documentacao/vraptor-scaffold/

changelog completo em: http://vraptor.caelum.com.br/documentacao/changelog/
downloads em: http://vraptor.caelum.com.br/download.jsp

Agradecimentos especiais ao Otávio Garcia(garcia-jj), Rodolfo Livieiro, Francisco Souza, Pedro Matiello,
Douglas Campos(qmx), Bruno Oliveira(abstractj), Daniel Kist e Alberto Souza pelos patches e contribuições
ao código do VRaptor.

Se você também quer contribuir com o VRaptor, se sinta livre em cadastrar (e/ou resolver) issues no
github http://github.com/caelum/vraptor/issues, abrir forks e enviar pull requests ou dar qualquer sugestão.

Muito obrigado a toda a comunidade, e rumo à próxima versão!

50 Respostas

Paulo_Silveira

Parabéns a equipe. E também agradecer a todas as mais de 9 mil mensagens no fórum:
http://guj.com.br/forums/show/23.java

Legal ver diversas pessoas fazendo pull requests e muitas pessoas de empresas diferentes respondendo as dúvidas.

sergiolopes

Mais mudanças nessa versão:

  • Novo Classpath scanning baseado no scannotation quando usar Guice ou Pico (suporte ao Spring em breve)

  • Suporte a scanning em build time gerando uma lista de classes anotadas para evitar o scanning no startup da aplicacao e diminuir o tempo de startup (feature de uso geral, mas pensada especialmente para o GAE)

  • Auto-registro de plugins sem precisar configurar web.xml (só jogar o JAR no WEB-INF/lib). Suporte impl nos plugins do GAE e Scala

  • Plugin em testes para usar o VRaptor com Scala

lgi2020

Fico sempre muito feliz em ver novas versões do VRaptor.

Parece que a equipe se supera a cada dia.

É uma pena não ter tido a chance de usá-lo em um projeto sério… Mas conheço pessoas que usam e tecem vários elogios.

Parábens aos envolvidos no projeto! =D

luizlima

Legal, parabéns a toda equipe!

WashingtonBotelho

Parabéns a todos pela nova versão.
Ótimas novidades. (:

Simborá colocar em produção.

P

Legal a novidade.

Para um projeto que está rodando com o 3.1, só trocar o jar pode causar algum problema?

Abs e parabéns

Guevara

Opa, maravilha! Baixando! \o/

candidosales

Parabéns aos colaboradores da Caelum! =]

Vou já experimentar essa atualização.

Abraço!
Deus nos acompanhe sempre.

Lucas_Cavalcanti

paulohrl:
Legal a novidade.

Para um projeto que está rodando com o 3.1, só trocar o jar pode causar algum problema?

Abs e parabéns

Esqueci de colocar na notícia:
A gente reorganizou algumas interfaces internas e construtores, então se vc sobrescreveu algum comportamento
do VRaptor, talvez vc tenha modificar as classes que sobrescrevem o VRaptor. Geralmente foi só mudança nos
parâmetros do construtor mesmo.

Do resto pode usar tranquilamente, que não deve causar nenhum problema.
Mas se por acaso acontecer pode ser problema de versão dos jars q o VRaptor depende.

Em especial pra quem sobrescreveu o InterceptorExecution, por favor se rebaseiem em
http://github.com/caelum/vraptor/blob/master/vraptor-core/src/main/java/br/com/caelum/vraptor/core/DefaultRequestExecution.java

[]'s

alabeduarte

Parabéns a toda a equipe, utilizo VRaptor 3.1 e o fw é mto bom, vou testar o VRaptor 3.2 jájá em minhas aplicações!

G

Eu já estava bem ansioso com a versão 3.2. Há algum tempo tenho testando a versão dev e estava muito boa. Agora fiquei espantado com o suporte ao Guice, que foi implementado em poucos dias pelo Sérgio e pelo Lucas.

Além disso, tenho que parabenizar não apenas o trabalho do pessoal do Vraptor, mas também pela disposição em receber as contribuições, e principalmente ao Lucas que perdeu horas analisando meus commits e me explicando como fazer mocks decentes.

Valeu pessoal :smiley:

M

show de bola, quero testar o scaffold logo…

para atualizar as bibliotecas com o maven é só atualizar o pom.xml?

abs

Lucas_Cavalcanti

sim, é só trocar a versão de 3.1.3 pra 3.2.0.

Pode ser que demore um tempinho pro repositório do maven atualizar e pegar a nova versão, mas o upload já foi feito.

Javart

Bom ainda não se pode ter melhor referencia ao produto , nem livro do mesmo se encontra pra se consultar em lugar algum, mas conseguem lançar novas versões do produto. A Publicação em livro força aos autores terem que colocar todas as referências e revisões detalhadamente, dependendo do assunto até mesmo depoimento de empresas e usuários, na certa é mais fiscalizado tecnicamente e cientificamente.

Lucas_Cavalcanti

o VRaptor é simples e fácil de aprender o suficiente pra não precisar de um livro grande pra explicá-lo.

Vc chegou a dar uma olhada pelo menos nos tutoriais de 1 e 10 minutos?
http://vraptor.caelum.com.br/documentacao/vraptor3-guia-de-1-minuto/
http://vraptor.caelum.com.br/documentacao/vraptor3-o-guia-inicial-de-10-minutos/

M

Lucas Cavalcanti:
sim, é só trocar a versão de 3.1.3 pra 3.2.0.

Pode ser que demore um tempinho pro repositório do maven atualizar e pegar a nova versão, mas o upload já foi feito.

Funcionou a atualização

sergiolopes

Existe um livro sim sobre VRaptor, muito bom aliás!
Está disponível para download em formato digital para ereaders aqui ou em formato impresso aqui.

thiagobaptista

Lucas, quando eu crescer eu quero ser que nem um dos desenvolvedores do VRaptor. :smiley:

Quanto à apostila da Caelum, bom… se trata do treinamento oficial da tecnologia, escrito pelos criadores da tecnologia. Não sei em que planeta ele seria de qualidade inferior só porque “é uma apostila e não um livro”.

Se bem que a idéia não é de todo ruim, de se escreverem um livro um pouco mais denso, com exemplos de diversas aplicações, e passível de ser traduzido para outras línguas. Tipo um “VRaptor In Action”. :wink:

Mr_Arthur

Muito bom!
Estou em andamento de um projeto com um colega baseado em vraptor.
Estou super-satisfeito com o framework… Parabéns!
Vou tentar atualizar o vraptor antes de colocar isso em produção.

Tenho aprendido muito com os posts do blog da caelum, com as suas apostilas e com a revista MundoJ.
Tenho que admitir que vocês não são essenciais, porém fudamentais no meu aprendizado nessa área técnica e até gerencial nessa área de S.I.

Obrigado,

Arthur Carvalho.

M

Não entendi ainda o contexto do livro kkk
Livro fica desatualizado muito rápido não acompanha a evolução do framework.

G

Já que apostila não vale, há sim um livro sobre o Vraptor em formato digital disponível em inglês e português.

Já que o livro é sobre tecnologia, nada mais justo que ser um e-book.

rodolfoliviero

Parabéns pessoal pelo trabalho e para a comunidade tbm pela ajuda.

No scaffold tbm tem issues la para o pessoal que quer ajudar

Adelar

Sergio Lopes:
Mais mudanças nessa versão:

  • Novo Classpath scanning baseado no scannotation quando usar Guice ou Pico (suporte ao Spring em breve)

  • Suporte a scanning em build time gerando uma lista de classes anotadas para evitar o scanning no startup da aplicacao e diminuir o tempo de startup (feature de uso geral, mas pensada especialmente para o GAE)

  • Auto-registro de plugins sem precisar configurar web.xml (só jogar o JAR no WEB-INF/lib). Suporte impl nos plugins do GAE e Scala

  • Plugin em testes para usar o VRaptor com Scala


Legal :smiley:

Mr_Arthur

… porém fudamentais no meu aprendizado nessa área técnica e até gerencial nessa área de S.I. …

putz… que merda.
alcool é charope demais.

D

Show de bola, tive a oportunidade de fazer dois trabalhos profissionais com esse framework na empresa onde eu trabalhava.

Já tem uns cinco projetos que trabalhei com ele, contando profissionais e da faculdade.

Simplesmente simples.

Parabéns aos desenvolvedores.

Adelar

Curti o framework. Muito boa a palestra da página inicial do site para conhecê-lo melhor. :smiley:

Att.

D

Posso dar uma dica pra proxima versão? :shock:

Que tal eliminarmos uma annotation, a @Path, fazer algo parecido com o Sinatra.

//Hoje usamos assim
public class MeuController(){
      @Post
      @Path("/meuController/action") 
      public void action(){}
}

//E que tal que fosse assim
public class MeuController(){
      @Post("/meuController/action")
      public void action(){}
}

:lol:

Lucas_Cavalcanti

davisnog, abre uma issue no github por favor?

D

O suport a javax.inject, @Inject, substitui somente a @Component?

A @Resource continua na mesma ou a uma substituta do pacote javax.inject?

Lucas_Cavalcanti

o @Resource ainda é necessário, senão o VRaptor não saberia quais classes deveriam representar controllers

Lucas_Cavalcanti

usando o Guice vc não precisa necessariamente colocar o @Component, mas se vc não colocar e quiser injeção pelo construtor (ou field, ou método) vc precisa do @Inject

D

Lucas Cavalcanti:
davisnog, abre uma issue no github por favor?
http://github.com/caelum/vraptor/issues

Ta lá, criado.

Meu inglês não é lá essas coisas, mais acho que da pra entender :oops:

D

Quer dizer então que de qualquer forma, usando o Guice, não há a necessidade do @Component, somente nos controllers a @Resource?

Como estou fazendo uma aplicação para o GAE e já que foi mencionado que ele seria uma solução melhor para o gae, então vamos de Guice, já que não vai fazer diferença na utilização.

Lucas_Cavalcanti

no GAE dá pra você usar uma das features experimentais que o Sérgio Lopes falou:
o scanning em build time

isso faz que o tempo do cold start diminua bastante

D

Pelo que eu entendi, não é necessário fazer nada para a utilização dessa feature.

Ou é necessário configurar alguma coisa?

sergiolopes

davisnog:
Pelo que eu entendi, não é necessário fazer nada para a utilização dessa feature.

Ou é necessário configurar alguma coisa?

Voce precisa rodar o tal gerador no monento do seu build. O ideal é fazer isso somente antes do deploy e não em tempo de desenvolvimento. Se voce usar um build.xml no projeto, basta adicionar:

<target name="cpscan" depends="compile">
		<java fork="true" classname="br.com.caelum.vraptor.scan.VRaptorStaticScanning"
			  classpathref="project.classpath">
		</java>
</target>
D

hum, legal.

D

outra coisa, como eu utilizo o plugin do google no eclipse para desenvolver, eu não utilizo o build.xml, tem outra forma de fazer essa configuração? antes do deploy.

jbmsegundo

Javart e acho que vc nao tem noção de que ta criticando no tópico errado. Que tal abrir um novo tópico pra isso? Ahhhh mas eu acho que vc não vai chamar tanta atenção assim.

Lucas_Cavalcanti

Quer profundidade no assunto, leia o código fonte e os testes http://github.com/caelum/vraptor

Ou o que mais vc quer aprender sobre o VRaptor que não está disponível? Tem como ser mais claro?

Ou vc só está aqui pra trollar o tópico?

Andre_Brito

Você tem alguma dúvida da resposta dessa sua última perguta, Lucas? :stuck_out_tongue:

dev.rafael

Um dos melhores frameworks web Java com eu já mexi. Só uma coisa, p/ próxima versão ñ daria p/ renomear p/ Java on Rais :slight_smile:
Só brincadeira galera!

C

Pessoal desculpe a ignorancia mas tem como eu fazer um app REST com vraptor para o GAE para clients sem o http completo como FLEX e J2me?(no caso sem usar sockets, so sobrecrevendo o metodo)

Lucas_Cavalcanti

como assim só sobrescrevendo o método?

de qqer forma, dá pra fazer uma app REST com o VRaptor sim. E tanto o FLEX qto o J2ME tem clientes HTTP que vc pode usar pra se comunicar com a app.

se tiver dúvidas sobre como fazer isso, por favor abra um tópico.

C

Lucas Cavalcanti:
como assim só sobrescrevendo o método?

de qqer forma, dá pra fazer uma app REST com o VRaptor sim. E tanto o FLEX qto o J2ME tem clientes HTTP que vc pode usar pra se comunicar com a app.

se tiver dúvidas sobre como fazer isso, por favor abra um tópico.

tipo cara, flex e j2me nao tem o http completo(put,delete,head,trace etc…) flex pq a adobe é incompetente e j2me pela sua proposta(j2me pode ser usado socket, e flex tem outras macetes, porem existem api que facilitam isso como restlet):
http://blogs.plexibus.com/2009/01/20/restlet-handling-the-x-http-method-override-request-header/

queria saber se o vraptor tambem oferece essa opcao para gae, afinal uma das proposta de cloud é acessar os dados de qualquer lugar.

Lucas_Cavalcanti

sim, dá pra fazer…

numa requisição POST vc pode mandar o parâmetro _method com PUT ou DELETE, e isso sobrescreve o método.

Mr_Arthur

Como fazer uma chamada ajax em jquery com $.get/$.post sem minha resposta ser interferida pelo meus arquivos .jspf? (lembrando que eu quero que aconteça o redirecionamento pra mim jsp.)

Lucas_Cavalcanti

se vc configurou os jspf’s pra passarem em todos os jsps (*.jsp) não tem o que o VRaptor possa fazer.

Dá uma olhada no sitemesh, ele resolve esse problema:
http://www.opensymphony.com/sitemesh/

Mr_Arthur

Beleza… Vou dar uma olhada.

Na pressa, como solução, retirei os .jspf e adicionei um header e um footer em cada jsp minha.

Fiz besteira?

Lucas_Cavalcanti

se o header e o footer forem com <%@ include %> ou algo do tipo, não :wink:

outra alternativa seria ao inves de retornar um html nas lógicas do $.get e $.post, vc retornar um json e montar o html baseado nele… é bem fácil fazer isso com o JQuery, e com o VRaptor tb.

PS: Se quiser mais detalhes, por favor abra um tópico pra não desviar muito do assunto desse.

Criado 7 de outubro de 2010
Ultima resposta 9 de out. de 2010
Respostas 50
Participantes 22