RubyMotionがすごい
RubyMotionを使うとObjective-Cの代わりにRubyでiOSアプリを作ることができる。
有料版しかなく無償で試したりはできないがRubyMotionのサイトやサンプルコードを見てすぐに購入した。これはいいものだ。
日本語での概要は以下に良くまとまっている。
- Rails Hub情報局: MacRubyがiOSに来た!RubyでiOSのネイティブアプリ開発ができる「RubyMotion」登場
- RubyMotion、はじめの一歩 – Watson’s Blog
一言で言うと今までObjective-Cで我慢して書いていたものをすべてRubyでサクッと書いちゃおうぜ、というノリのものだ。
JavaScriptに対するCoffeeScriptの関係に似ているかもしれない。
個人的には以下の利点だけで値千金。
- 配列や文字列の処理がとてもとても楽ちん
- メソッド定義およびメソッド呼び出しが簡単
- いちいちヘッダーファイルを書かなくていい
- テストが書きやすい(RSpecっぽく書ける)
すべてObjective-Cで悩ましかったところだ。
ほかコマンドラインからビルドや実機転送ができる、好きなエディタで書ける(補完が効かないけど)、メモリ管理が不要等々。とにかくフットワークが軽くなる。インタラクティブシェルも面白そう。
RubyMotionは基本的にiOS SDKのAPIを忠実になぞった出来になっていて、iOS SDKのクラス名やメソッド名がRubyのコードの中でそのまま使える。そのためiOS SDKの持つすべての機能を使うことができ、Objective-Cでの開発経験がある開発者なら今までの知識を生かしつつ、Objective-Cの煩わしさを捨ててRubyでサクサク書いていくことができる。
逆に言うとiOS SDKの知識が必須となるのだが、そのあたりはApple公式のAPIドキュメントがよく整理されているのと、既存のサンプルコードなどが参考になるのでそこまで大きな問題ではないと思う。Objective-CのコードをRubyのコードに置き換える応用性が必要になるので全くの初心者にはちょっと厳しいかもしれないが。
まだリリースされたばかりのプロダクトなので安定度(手元のMBPでは実機転送ができなかった。一方でAirちゃんではできたりとか)やプロジェクトの継続性などは未知数だがこれはちょっと面白くて小気味いいのでしばらく使ってみたい。