BT

Novidades em Ruby para mobile: MRuby, RubyMotion, Ruboto e mais

por Mirko Stocker , traduzido por Vitor Puente em 12 Jun 2012 |

Algumas novas implementações e dialetos do Ruby têm aparecido, juntando-se ao grande conjunto de dialetos existentes. As novidades são MRuby, MobiRuby e RubyMotion. Aqui apresentamos o que trazem de novo.

MRuby

Começamos pelo MRuby, desenvolvido pelo criador do Ruby, Yukihiro "Matz" Matsumoto. Na RubyConf 2010, Matz anunciou seu trabalho no desenvolvimento do Rite, uma implementação leve do Ruby. O resultado daquele trabalho é o MRuby, disponibilizado no GitHub, que contempla parcialmente a especificação da linguagem do ISO. O foco, porém, é completamente diferente do MRI e do Ruby 1.9; logo o MRuby não é o Ruby 2.0.

O MRuby pode ser usado simplesmente para executar programas Ruby, mas foi projetado especialmente para ser integrado em outros programas (por exemplo, em jogos, como uma alternativa à linguagem Lua). Pode também ser utilizado em pequenos dispositivos com pouca memória.

O MRuby tem uma biblioteca padrão bastante reduzida e não apresenta algumas funcionalidades da linguagem original. Matz mencionou no keynote que threads e multilingualization (m17n) não são suportados. Outras bibliotecas/funcionalidades podem ser customizadas em tempo de compilação (por exemplo, remover file I/O ou escolher o encoding).

Matt Aimonetti escreveu um guia sobre como iniciar com MRuby, e também fez um comparação detalhada entre MRuby e Lua.

MobiRuby

O MobiRuby "pretende substituir pelo Ruby as linguagens Objective-C, C e Java nas plataformas mobile, da mesma maneira que se pode utilizar Lua ou Mono para construir aplicações nestas plataformas". Matt Aimonetti apresenta uma análise dos desafios que o projeto enfrenta, como o impacto no desempenho ocasionado pela existência de dois runtimes (ambientes de execução), e a interação com as APIs e documentações nativas da plataforma. Infelizmente, o código do MobiRuby ainda não foi disponibilizado, de modo que ainda não é possível fazer um julgamento embasado.

RubyMotion

Para desenvolver para iOS hoje em Ruby, há outras opções. Laurent Sansonetti, o criador do MayRuby, acabou de lançar o RubyMotion, um fork proprietário do MacRuby que também permite escrever aplicações para iOS em Ruby (leia mais sobre isso no InfoQ norte-americano). O Rake é utilizado para criar, executar e compilar aplicações, e todo o fluxo é controlado via linha de comando, sendo também possível utilizar o Interface Builder da Apple e o StoryBoard. O RubyMotion é mais um dialeto do Ruby do que outra implementação completa; logo não é possível reutilizar facilmente gems existentes do Ruby.

Android e mais

Os desenvolvedores Android também têm opções: o Ruboto progrediu bastante nos últimos meses; e há o Mirah, o qual possui um sintaxe bem próxima ao Ruby, oferecendo suporte ao Android através do Pindah. Como nota final, a empresa Rhomobile, criadora do Rhodes, um framework independente de plataforma baseado em Ruby, foi recentemente adquirida pela Motorola Solutions.

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens 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-2014 C4Media Inc.
Política de privacidade
BT