O documento discute o framework Rhodes para desenvolvimento de aplicações móveis multiplataforma usando Ruby. Rhodes permite escrever uma vez e rodar em diversos sistemas, incluindo Android, iPhone e BlackBerry. Oferece recursos como acesso a câmera, GPS e agenda de contatos, além de ferramentas como banco de dados local e teste automatizado.
8. Rhodes Possibilita a criação de uma aplicação para celular usando a linguagem Ruby e uma estrutura semelhante ao Rails. Permite que a mesma aplicação seja executada em plataforma Symbian, Windows Mobile, Android, iPhone e BlackBerry. Possibilita o uso de HTML, CSS e JavaScript para criação de interfaces poderosas.
9. Rhodes Possui uma extensa API que dá suporte aos principais recursos dos smartphones atuais, como GPS, agenda de contatos, acelerômetro, biblioteca de mídias e câmera. É software livre e open source, e segue a licença MIT. Possui uma versão comercial para empresas que desejem manter seu código fonte fechado.
10. Principais vantagens Writeonce, runeverywhere (de verdade). Produtividade (Ruby é mais produtivo do que C, C++ e Java). Abstração do hardware (não é necessário preocupar-se com particularidades de cada celular, basta usar a API do Rhodes).
13. Browser nativo Os browsers nativos das plataformas possuem diferenças sutis entre si, de forma que uma aplicação para iPhone funciona praticamente da mesma maneira no Android e no Symbian. O BlackBerry porém possui um browser totalmente diferente, e para trabalhar com ele é recomendável ler o guia: http://docs.blackberry.com/en/developers/deliverables/1143/browser_devguide.pdf
14. RhoSync Servidor que possibilita a sincronização de um aplicativo Rhodes e um aplicativo servidor. Possibilita integração da aplicação Rhodes com aplicativos como o SAP e o Siebel, e bases de dados diversas como Oracle e MySQL. http://rhomobile.com/products/rhosync/
24. Subset doRuby O interpretador Ruby do Rhodes é um subset do Ruby 1.9, ou seja, alguns recursos não são suportados. Metaprogramação e recursos como eval() não são suportados. Baixar código para execução “onthefly” também não é possível.
26. Rhomobile e AppStore As regras para desenvolvimento de aplicações para iPhone não proibem o uso de linguagens interpretadas. Não é possível, porém, utilizar o interpretador Ruby do iPhone para executar código Ruby que venha de outros lugares que não a AppStore.
27. Banco de dados e Rhom É um mini “objectmapper” disponível no Rhodes. Pode trabalhar integrado ao RhoSync ou independente, como um banco de dados local.
33. No caso de uma figura pode ser centralizada (center, vcenter, hcenter) ou redimensionada (zoom, vzoom, hzoom).
34.
35. Páginas para tratamento de erros É possível definir duas páginas para exibir caso ocorram erros: app400.erb e app500.erb A 400 é exibida caso ocorra uma exceção Rho::RecordNotFound. A 500 em todos os outros casos.
36. Arquivos específicos por plataforma É possível definir um layout para cada plataforma na mesma aplicação. default.css index.erb default.android.css index.android.erb
43. Uso de recursos do celular O Rhodes possui uma API unificada para acesso aos principais recursos dos celulares, como câmera, sons e GPS. Essa API possibilita que o acesso ao hardware seja feito da mesma forma para qualquer dispositivo desde que o mesmo esteja presente.