おはようございます!タマイ・ラマです!!
今朝紹介するアプリにはもの凄い衝撃を受けました。
オクトバで記事を書きはじめてから一番驚いたかもしれません。
なんと、AndroidでRubyが動きます!!(正確にはJRubyです)
Roboto (JRuby on Android)はAndroidでJRuby(JavaによるRubyの実装)を動かす事を目的としているプロジェクトです!
「Roboto IRB」はJRubyによるirb(Rubyの対話モード)と、スクリプト保存して実行できる環境を提供してくれます。
JRubyなので、Androidの機能をスクリプトから呼び出す事もできます!
irb
まずはRubyの対話インターフェイスであるirbの機能を使ってみます。
アプリを起動するとこのタブが開かれます。
アプリ起動後、最初にJRubyの設定を行うのでしばらくお待ちください。
「Done」と表示されたら準備完了です!
さっそく使ってみましょう!
フォームにRubyスクリプトを書いていきます。
定番の “hello world” から始めたいと思います!
動きました!!
初めてこれが動いたのを見たとき、私はとても感動しました!
Rubyのほとんどの機能が使えます。
もう1つ簡単な例を試します。配列を定義して・・・
eachで各要素を表示してみました!
ちゃんと表示されています!!
今回はシンプルな例でしたが、クラスの定義・メソッドの呼び出しなどの機能も備えています!
是非お試し下さい!
エディタとサンプルスクリプト
ここまででも十分感動できるのですが、さらに驚く事にスクリプトを書いて保存、実行する事もできます!
EditorタブでRubyスクリプトを記述、保存、実行する事ができます。
実際にコードを書いて実演・・・!と行きたいところなのですが、私の拙いコードを見せるのは少々心苦しいので、本アプリ備え付きのサンプルスクリプトを使って話を進めたいと思います。
Scriptsタブの中の「call.rb」、「toast.rb」がそれです!
Editorタブで編集・保存したスクリプトもここにリストされます。
まずは「call.rb」から。
中身はこのような感じです!
お気づきの方もいるでしょうが、凄く興味深い物をimportしています。
「menu>Execute」でさっそく実行してみます!
電話発信の画面になりました!
先述の通り、実際に動作しているのはJRubyなので、Androidの機能にアクセスできます!
これはスゴイ!
次は「toast.rb」。
名前のとおりtoast(文字がポップアップするアレです)を表示します。
「Hello Ruboto!」
もちろん、スクリプトを書き換えれば任意の文字を表示することも可能です!
日本語も表示できます!
このプロジェクトの存在は以前から知っていたのですが、これまではマーケット上のアプリという形では公開されていませんでした。
Google Groupsでのやりとりを見ると、若干フライイング気味に公開されたのがきっかけみたいです。
フライイングと言っても悪意のあるような物ではなく、その後の開発グループの協力もありver 0.1公開となりました!
個人的にはすごく簡単にこの機能が試せるようになったので、大変嬉しく思います!
AndroidアプリがRubyを使って開発可能になる日も近いのかもしれません。
以前紹介させて頂いたPhoneGap(HTML+Javascript+CSSでクロスプラットフォームなアプリ開発)
Google が提供しているAndroid Scripting Environment (ASE)(AndroidでPython, Perl, JRuby, Lua, BeanShell, JavaScript, shellが動作)
なども登場しており、Androidアプリ開発の可能性はどんどん増えてきています!
今後が本当に楽しみです。
最後に、Ruboto関連のページへのリンクです。活発に活動しています!
Ruboto (JRuby on Android) Google Group
roboto-irb on github