BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Sumário sobre Compatibilidade de bibliotecas Ruby 1.9.1

Sumário sobre Compatibilidade de bibliotecas Ruby 1.9.1

Ruby 1.9.1 é o primeiro release estável da série 1.9.x e traz, dentre várias melhorias da linguagem e suas bibliotecas padrão, aumento significante de performance.

Entretando, compatibilidade com código existente pode ser uma barreira quando se está migrando para o 1.9.1. Há diferentes razões para isso. O gem ParseTree, por exemplo, não está disponível porque a nova VM Ruby não mantém um parsetree Ruby após ter parseado o código fonte e compilado em bytecode. Um substituto parcial está disponível na biblioteca Ripper incluida no download do 1.9.x (MacRuby, por exemplo, usa o Ripper para parsear código Ruby para alguns propósitos.). Bibliotecas que somente requerem parsing de código fonte podem superar isso com o Ripper ou com o ruby_parser.
Outra razão em potencial para problemas de compatibilidade são as mudanças súbtas na semântica da linguagem, como variáveis de blocos que agora tem escopo bem definido, bem como outras mudanças.

Qualquer que seja a razão, o release 1.9 em 2007 e agora o release 1.9.1 chamou a atenção para preparar as bibliotecas para o 1.9.x.

De acordo com muitos relatórios, o Rails 2.3 (ou Rails Edge) parece ser compatível com o 1.9.x, já que releases anteriores não parecem sofrer com isso. Ryan Bigg detalhou uma lista de problemas que teve usando o Rails no Ruby 1.9.1. O blog do Phusion Passenger relata que sua mais recente versão é compatível com o 1.9.1 e detalha quais bibliotecas devem ser atualizadas para fazê-lo funcionar. Alguns database adapters estão prontos, como o release 2.8.1 do MySQL adapter que funcoina com o Ruby 1.9.1.

Uma solução interessante para determinar informações de compatibilidade está disponível no http://isitruby19.com/. O site lista Gems Ruby e permite aos usuários relatar suas experiências com compatibilidade. Uma funcionalidade interessante é uma barra verde e vermelha ao lado do nome do Gem, que mostra o número de usuários que relataram o sucesso ou falha daquele Gem no 1.9.
Os resultados devem ser com um pouco de desconfiança, principalmente aqueles Gems com relato de apenas um usuário. No momento da publicação desta notícia, o estava relatado que o Gem ParseTree estava "funcionando", informação contradita por uma mensagem de Ryan Davis, o criador do ParseTree. Também, um rápido teste em executar o ParseTree em uma instâncias do Ruby 1.9.1 falhava com

parse_tree.rb:3:in `': ParseTree doesn't work with ruby 1.9.1 

De qualquer forma, http://isitruby19.com é o lugar para começar quando estiver procurando por respostas de compatibilidade.

O que o está impedindo de migrar para o Ruby 1.9.1?

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT