Uma versão do Ruby 1.9 para Symbian já está disponível, uma versão do Ruby 1.8 já estava disponível há algum tempo (bem como o Python para Symbian).
Além do Ruby Symbian, não há muito suporte para Ruby em celulares no momento. É possível executar a versão do Ruby ARM no Android.
Desde que o Android é baseado em Java, outra opção seria executar JRuby no Android. A questão é que o Android não executa bytecodes do Java, mas sim bytecodes do Dalvik (Bytecodes JVM devem ser traduzidos para bytecodes do Dalvik ). Em uma discussão sobre a lista de usuários jruby, Charles Nutter do JRuby lista as possíveis soluções:
Há dois possíveis cenários de execução funcionariam com essas limitações:
* Puramente interpretado, onde todos os códigos são parseados no dispositivo e executados com nosso interpretador lógico AST. Isso seria provavelmente mais lento do que gostaríamos mas torna o trabalho mais fácil.
* Puramente Compilado, com todos invokers/handles gerados antecipadamente também.
Ambos os casos já são possíveis na atual base de código; o único truque é produzir um .jar que fornece apenas um e não depende do outro.
Executar JRuby no JME não é realmente uma opção. Uma adaptação do JRuby para JME foi apresentado no JavaOne em 2007. O arquivo Zip indicado no link contem os slides da apresentação do JavaOne, o qual detalha o processo envolvido na obtenção do subconjunto do JRuby para executar no JME. Considerando que o JME é uma versão resumida do Java, conseguir que o JRuby rode envolve uma reescrita grandes partes do JRuby. A versão atual do JRuby depende do Java 5 - mas como mostram os slides, no JME faltam classes e métodos adicionados desde o Java 1.2. Entre as maiores omissões estão as Regular Expressions ou grandes partes da Collections API.
Outra opção em breve poderá se tornar disponível sob a forma do IronRuby e Mono para o iPhone. Enquanto o AppStore do iPhone não permite o download de interpretadores, as ultimas versões do Mono tem uma solução: compilação antecipada, ex. código no CIL é compilado para as instruções da CPU, no caso do iPhone para as instruções ARM. Considerando que o IronRuby pode compilar o código Ruby para CIL, ao invés de interpretá-lo, é possível compilar uma aplicação Ruby para CIL, AOT compila e executa sobre o iPhone. Como Miguel de Icaza menciona, alguns problemas remanescentes antes que o código IronRuby possa ser executado:
É claro, uma vez que você remova o JIT você não será capaz de usar nenhum código gerado dinamicamente. Isso significa sem reflection. Emite dinamicamente e pelo menos por enquanto ou não IronPython/IronRuby.
John Lam me disse no PDC que eles estão tentando trazer compilação estática para IronPython/IronRuby/DLR novamente, então essa só pode ser uma limitação de curta duração.