BT

Rails 3 Lançado: Modularidade, Performance, Estabilidade e Simplicidade

por Pedro Mariano em 31 Ago 2010 |

Dia 23 de Dezembro de 2008 foi um dia importante para os Rubistas e Railers de todo o mundo, nesse dia David Heinemeier Hansson mais conhecido como DHH (líder do Ruby on Rails), anunciou no blog oficial do Rails que o framework Web Ruby iria ser fundido com o seu principal "concorrente" o Merb. Na busca de um framework cada vez melhor os dois maiores se uniram e criaram o que hoje podemos chamar de Rails 3 versão final.

Depois de ser comparado com Duke Nuke Forever devido a constante mudança da sua data do lançamento oficial o Rails 3 versão final foi lançado dia 23 desse mês (23/08/2010). Com diversas mudanças enumeradas e discutidas por toda a comunidade e com mais de 16000 contribuintes no total, o Rails provou que uma comunidade unida pode ser a chave para o sucesso.

Desde que a fusão foi anunciada muitas coisas mudaram, o Rails 3 foi totalmente reescrito buscando melhor performance, modularização, estabilidade, segurança e claro facilidade para o desenvolvedor final. Eles conseguiram isso? Bem, desde as versões beta sobram elogios em torno do framework e com a final não está sendo diferente. E claro com um time excelente com Yehuda Katz, Xavier Noria, Santiago Pastorino, o brasileiro José Valim, entre outros o resultado final não poderia ser outro além de um excelente framework muito bem escrito e com código elegante.

As mudanças já foram documentadas em diversos blogs, criando uma extensa quantidade de materiais disponíveis para aqueles que desejem conhecer as diferenças de implementação e conceituais contidas no Rails 3. Para aqueles que querem conhecer mais a fundo tais mudanças sugiro a leitura da documentação e de alguns blogs como o do Fábio Akita e do Yehuda Katz (em inglês). De uma forma geral as principais diferenças são:

  • O Arel foi adotado como nova engine de Queries para o ActiveRecord
  • Novo esquema de rotas para os Controllers
  • Nova API de ActionMailer
  • Nova forma de gerênciar dependências com o Bundler
  • Proteção ao XSS por padrão
  • Corrigido problemas com enconding
  • Nova API ActiveModels
  • Javascript não obstrusivo
  • Documentação
  • Maior facilidade da criação de plugins
  • Generators
  • Reescrita das partes internas do Rails o que garantiu melhor código e maior performance

O Rails 3 foi projetado para funcionar com Ruby 1.8.7 e Ruby 1.9.2 além de também ser compatível com o JRuby 1.5.2.

Apenas lembrando que agora para instalar o Rails 3 basta executar: gem install rails e não mais gem install rails --pre.

Para aqueles que querem migrar sua aplicação de Rails 2 para Rails 3 recomendo assistir as três partes do screencast do Ryan Bates do RailsCasts (em inglês) que explica como migrar sua aplicação: Parte 1, Parte 2, Parte 3.

Diversas bibliotecas como o RSpec entre outras já são compatíveis com a nova versão. Vale lembrar que algumas bibliotecas (gems) ainda não funcionam com o Rails 3, então antes de baixar verifique se a mesma é ou não compatível. E não se preocupe pois as principais gems já estão se movimentando a fim de serem compatíveis com a nova versão.

Com certeza o mês de Agosto é um mês muito feliz para os rubistas pois além do lançamento do Rails 3 tivemos também o lançamento do Ruby 1.9.2 primeira versão estável da nova e super performática versão do Ruby.

E você leitor, já experimentou o Rails 3?

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT