BT

モバイルRubyの総まとめ:Symbian Ruby 1.9、Android、JME、iPhoneおよびMono

| 作者: Werner Schuster フォローする 6 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年11月25日. 推定読書時間: 3 分 |

Symbian向けRuby 1.9(リンク)のポートが、現在利用可能であり、Ruby 1.8バージョンが(Symbian向けのPythonと共に)利用可能になっている。

SymbianのRubyの他に、現在携帯電話でのRubyのサポートについては、あまりない。AndroidでRubyのARMバージョンを実行することが、可能である(リンク)

AndroidはJavaベースであるため、AndroidでJRubyを実行させるという選択肢もあるかもしれない。ここでの問題は、Androidが Javaのバイトコードを実行せず、代わりにDalvikバイトコードを実行するということである(JVMバイトコードはDalvikバイトコードに要変 換)。JRubyのユーザリストに関する議論で、JRubyのCharles Nutter氏は考えられるソリューションを提示している(リンク)

以下の制限で動作する2つの実行シナリオがある。
* すべてのコードがデバイス上で解析され、AST-walking変換ロジックで実行される、純粋な変換。これは想像してる以上に遅いかもしれないが、簡単に動作させることができる。
*前もってすべての呼び出し側/ハンドルが生成される、純粋なコンパイル。 どちらのケースも現在のコードベースで可能である。片方のみを提供し、他方には依存しないdeliverable .jarを作成することが唯一のこつかもしれない。


こんにちJRubyをJMEで実行することは、選択肢ではない。JavaOne 2007で、JRuby to JMEのポートが提示された(リンク)。リンクされた場所にあるZIPファイルには、JavaOneの プレゼンのスライドがある。JRubyのサブセットをJMEで実行させる際に関わるプロセスを詳述するものである。JMEはJavaの縮小バージョンであ るため、JRubyの実行ではJRubyの大部分を再書き込みする必要がある。JRubyの現バージョンは、Java 5に依存しているが、スライドが示すように、JMEは追加されたクラスおよびメソッドがない。Regular ExpressionsまたはCollections APIの大部分が、削除されている。

IronRubyやiPhone向けMonoの形式で、まもなく別のオプションが利用可能になる。iPhoneのAppStoreは、インタープリターのダウンロードを可能にしないが、最新のMonoバージョンにはソリューションがある。事前のコンパイルである(リンク)。すなわちCILのコードがCPU命令にコンパイルされる。iPhoneの場合は、ARM命令にコンパイルされる。IronRubyは、RubyコードをCILにコンパイルすることができるので、それらを解釈せずに、RubyアプリケーションをCILにコンパイルすることができ、AOTがそれをコンパイルし、iPhoneで実行することができる。Miguel de Icaza氏が述べるように、IronRubyコードが実行可能になるまで、ちょっとした問題が残る(リンク)

当然、JITを除去すれば、動的に生成されたコードを使用できなくなる。これは少なくともしばらくは動的なReflection.EmitやIronPython/IronRubyが使用できないことを意味する。 PDCでJohn Lam氏は、IronPython/IronRuby/DLRバックの静的コンパイルを検討していることを言っていたので、この制限はほんの少しの間だけである。

 

原文はこちらです:http://www.infoq.com/news/2008/11/mobile-ruby-roundup

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT