Feeds:
Posts
Comentários

Repostando um screencast muito bom da Improve IT sobre uso do CouchDB com Rails usando o plugin couchrest.

Vale muito a pena assistir!

RailsRumble

Acabamos de chegar as 3hs (hora atual) da manhã de sábado, 22 de agosto, e a 6hs que iniciou o Rails Rumble.

O Rails Rumble é um evento já bem divulgado na comunidade Rails e OpenSource em geral, com dezenas de aquipes (de no máximo 4 pessoas) ao redor do planeta trabalhando simultaneamente em construir um software em 48hs.

Mas o que tem de especial esse ano?

logo-gonow-novoEsse ano, com uma excelente iniciativa, a Gonow esta patrocinando 3 equipes no Rails Rumble, e contém mais uma equipe dela trabalhando nos mesmo moldes, junto com as outras, mas não competindo oficialmente, pois a escolha foi ajudar a comunidade com essas 3 vagas. Mesmo assim, uma equipe da Gonow esta fazendo sua parte 100% no espírito do evento, e tentando resolver um problema real de nossa empresa nessas 48hs.

Na verdade isso tudo foi idealizado pelo nosso amigo (e membro da equipe Gonow) Diego Carrion, que conseguiu as 3 vagas e disponibilizou-as para a comunidade.

O que a Gonow está fazendo realmente para as equipes participantes?

Tenho certeza que muita gente vai ficar surpreso com a iniciativa da empresa, que encerrou seu expediente as 5hs da tarde, geralmente o pessoal mesmo de sexta-feira, fica até umas 8hs ou 9hs da noite. “Limpou” um andar inteiro para dar espaço para as equipes trabalharem confortavelmente, deixando 4 mesas grandes, para todos se acomodarem com espaço de sobra. Toda a infra-estrutura foi cedida, internet, comida, muita comida rs, logo no início foram pedidas 15 pizzas, banheiros, bebidas (que inclui cerveja e energético na lista), banheiros. Reservou dois quartos de hotel para quem quiser dormir um pouco mais confortavelmente, tomar um banho ou relaxar um pouco.

Todo evento esta sendo coberto em tempo real no site da empresa, com um streaming ao vivo do local, atualizações no twitter, flickr e youtube. Grande parte da empresa se mobilizou para oferecer o melhor ambiente possível para todos, e com 100% de apoio para tudo que precisamos.

Muitos eventos ainda virão, muitos apoios tenho certeza também, mas com certeza esse está sendo um evento muito marcante, pois não só estamos podendo colaborar diretamente com a comunidade, mas trouxemos a comunidade pra dentro de nossa empresa.

Ao final do evento vou adicionar um novo post com fotos, vídeos e outros conteúdos, aguardem!

gonowNão não, este não é mais um post de “Hello World” nem DVDStore passo-a-passo, este é um relato real sobre a migração cultural e tecnologica que passamos adotando o framework VRaptor como primeira opção para desenvolvimento web java.
Tudo aconteceu meio que por acaso, bom, pra quem não sabe, trabalho numa empresa chamada Gonow, aqui além de consultoria com SCRUM também participo do que eles chamam de célula de arquitetura e de uma célula de desenvolvimento em Rails. Na época o gerente estava na Espanha, se não me engano, num de nossos clientes, e me pediu que criasse um “template” de arquitetura para ser usado num novo projeto. Nessa hora, olhei para os lados e vi Struts 1, olhei para o outro e vi JBoss Seam, fui ao banheiro, vomitei, voltei e resolvi colocar o VRaptor no projeto, alias depois levei uma bela comida de rabo porque “quebrei” os padrões homologados pela empresa/cliente, mas também fui elogiado por não ter medo de inovar e trazer novas soluções para o know-how da empresa.
Fiz um esqueletão com VRaptor 2 + Hibernate, nosso gerente liberou e pediu para o projeto ser “startado”. Chamei um dos desenvolvedores, o Rodolfo, perguntei o que ele já havia lido/escrito/ouvido sobre VRaptor, era quase nada, então falei pra ele, perfeito, vc é o cara que vai “configurar” tudo e botar pra funcionar, e precisando eu to aqui pra dar um help.

Por que isso?

vraptorExatamente porque sabendo da curva de aprendizado pequena, ele sendo um excelente desenvolvedor ia conseguir entender o necessário muito rapidamente, pois não se tem configuração praticamente, e seguindo as convernções do VRaptor já esta tudo muito bem preparado para funcionar corretamente, e achei muito importante ele ter esse sentimento em relação ao framework tbm, pois ele foi um que depois disso fez questão de passar esses pontos positivos para os demais.

O VRaptor ajudou muito em um dos pontos que  mais brigo aqui na empresa, testes e qualidade de código. Por ser muito simples e muito direto, ele evita que seja necessário fazer códigos tostos para coisas simples, claro quesempre existe um artísta pra tudo rs, mas ele da caminhos muito simples para grande maioria das necessidades de desenvolvimento. Fazer teste num projeto com Struts é possível e muita gente faz, mas é incomparável a facilidade de se testar usando um framework como o VRaptor.

Outras coisas excelentes vieram decorrente dessa mudança, mesmo antes de sair oficialmente o recurso de Nice URLs do VRaptor2, aqui dentro da empresa nós (o Diego Carrion) criamos um filtro e começamos a trabalhar com isso, gerando um projetinho opensouce que foi disponibilizado depois como VRaptor2 Sexy-URLs (lembrando que esse recurso já foi implementando e disponibilizado oficialmente no framework pela equipe da Caelum), mostrando um pouco da facilidade e simplicidade em se customizar as coisas no VRaptor. Mal acostumados com o uso do rspec para desenvolver com BDD em Rails, tbm adaptamos o mesmo para usar com o VRaptor, mais uma vez culminando em outro projeto opensouce, o rspec-vraptor, usar JSON nunca foi tão simples e com certeza o suporte que o framework trás ajudou e muito a escolha dessa opção.

Sem falar na grande facilidade de customização que o framework tem, se tu não gostas de algumas coisas, simplesmente vai lá e personaliza, e tudo sem muito esforço, sem muita magia negra.

O que mudou culturalmente?

Os desenvolvedores tendo uma maior facilidade para criar os testes por exemplo, começaram a realmente criar testes e ver os benefícios disso, todos começaram a se policiar mais em relação ao código, pois desde o início se tem a idéia de simplicidade, e ela acaba sendo carregada ao longo do tempo de vida dos projetos.

Hoje a grande maioria com certeza se tivesse que optar por um framework java para um novo projeto web, tenho certeza absoluta que escolheria o VRaptor, pela facilidade de uso, de aprendizado, pela produtividade extremamente maior que se ganha no desenvolvimento, por prezarem por algo mais simples, eficiente e que de resultado.

Alguns depoimentos de membros das nossas equipes:

Rodolfo Liviero – Desenvolvedor (o cobaia rs):

Os pontos positivos que tive usando o VRaptor foram: Pouca ou quase nenhuma configuração, fácil integração com hibernate validador, freemaker, sitemesh e volocity, baixa curva de aprendizado comparado com outras framaworks mvc java, bem leve.

Integração com ajax é ridícula de simples, mais facil de testar, ou seja, pode estimular alguns desenvolvedores preguiçosos a criar testes :)

Tudo isso junto aumentou muito a produtividade.

José Guilherme – Desenvolvedor (nunca tinha usado o VRaptor):

A principal vantagem que eu senti quando comecei a usar o vraptor foi a facilidade de criar testes para os meus controllers.
A segunda coisa que foi bem percebida é a facilidade para controlar o que vem da página e o que volta. O vraptor instancia e faz o binding dos dados para as suas classes do modelo, só é preciso ter como atributo classes do modelo no controller. Outra coisa que ajuda muito é que quase não tem configuração, a única coisa que precisamos configurar foi o views.properties (que agora não será mais necessário no VRptor 3).

Alvaro Riveiro – Arquiteto Java (nunca tinha usado o VRaptor):

O VRaptor trouxe alguns recursos interessantes a camada de controle que antes tomavam algum tempo com o uso de outras ferramentas tais como geração de conteúdo JSON para AJAX e seu mecanismo de geração de Nice URL. Seu mecanismo de Interceptors também permite adicionar elementos de AOP de uma forma simples e, de novo, sem a necessidade de outras
ferramentas. Outra característica interessante foi a redução no volume de arquivos de configuração gerenciados através da politica de adoção de padrões. Isso permite um trabalho mais limpo e com menos erros. É claro que as vezes precisamos fugir desses padrões e ainda assim o VRaptor nos dá essa possibilidade.

Um aspecto do VRaptor são seus avanços pelas camadas de negócio e persistência com seus plugins de JPA e Hibernate, se necessário algo mais complexo que seja interessante usar Spring, nesse caso o framework disponibiliza um plugin para tal integração.

O VRaptor ainda tem algumas carências que precisam ser atendidas, tais como controle de segurança (parte fundamental de um framework de controle), melhorar a forma de trabalhar com encaminhamentos internos entre componentes e eliminar a dependência de uma sessão HTTP (talvez até seja possível já).
No geral o framework mostrou-se bastante produtivo e com recursos muito interessantes, fato é que o VRaptor não deixa nada a desejar a outras soluções mais conhecidas de mercado.

Como já cansamos de ouvir de grandes nomes da comunidade, não existe bala de prata, e o VRaptor esta longe de ser isso, dentre as dezenas de opções com certeza o VRaptor tem um destaque muito grande, independente de gosto entre frameworks action ou component based, com certeza o trabalho feito pela Caelum e pela comunidade em torno do framework hoje não deve absolutamente nada para grandes outros projetos opensource.

VRaptor: www.vraptor.com.br

Até a próxima!

Postagens Antigas »