HipByteがRubyMotionバージョン3をリリースした。これは、RubyでiOS、OS X、Androidアプリを開発するための環境だ。今回のリリースで初めてAndroidをサポートする。以前は、ベータテスター向けにサポートされていた。
RubyMotion 3で、すべてのバージョンのAndroidをサポートします。最新のバージョンまでです(5.0 Lollipop)。これらのプラットフォームで利用できるJava APIを呼び出すことができ、サードパーティのJavaライブラリを統合することもできます。
RubyMotionはRubyでアプリケーションを書くための完全なツールチェーンだ。コンパイラはLLVMベースのコンパイラでネイティブコードに変換する InfoQは以前の記事で、技術的な詳細について取り上げている。
Rubyの知識のあるAndroid開発者にとっては、サンプルアプリケーションはとても親しみやすいだろう。
class MainActivity < Android::App::Activity
def onCreate(savedInstanceState)
super
@contentLayout = Android::Widget::FrameLayout.new(self)
# ...
end
end
Javaのパッケージのrequire
は後のリリースでのサポートが計画されている。現時点では、完全修飾名を使う必要がある。
またこのバージョン3では、AppleのWatchKitを使ってApple Watchの開発ができる。iOS開発者向けにはiOSエクステンションのサポートも含まれている。このエクステンションのサポートにはテンプレートが含まれており、iOSアプリは64ビットでコンパイルされるのがデフォルトになる。
HipByteは新しい価格体系を導入した。サポートのレベルと返答時間の違いから、1開発者当たり年間149ドルから999ドルまである。すべてのプランに30日の無料トライアルがある。
現時点では、RubyMotionのツールチェーンはOS Xでしか使えない。HipByteのファウンダであるLaurent Sansonetti氏に他のプラットフォームのサポートについて話を聞いた。
Windowsバージョンに対する需要はありますので、計画はしています。しかし現時点ではMacだけです。RubyMotionはクロスプラットフォームであり、iOSの開発者はMacを好むからです。
InfoQ: サンプルはすべてビューをプログラムで構築しています。AndroidのXMLスキーマでも作成できるのでしょうか。
RubyMotionのAndroidでもXMLリソースを使うことはできます。Javaと同様です。しかし、コードでUIを書くことをおすすめします。iOSでもそうしているからです。私たちのgems(MotionKit [クロスプラットフォームのレイアウトライブラリ]のように)ももうすぐAndroidをサポートする予定です。
www.rubymotion.comで詳しい情報を入手できる。RubyMotionを使ってみた感想も聞かせてほしい。