rhodesを試す

rubyiOSandroidアプリ開発ができる rhodes(ローズ)を試してみたので、その覚え書き。

rhodesでアプリ開発する前に

ruby1.9系 を使用している人は、rvm とかをいれて ruby のバージョンを切り替えられるようにしておくと良いです。
iphone のアプリを作成したい場合は、iOSSDKとかを入れておく必要があります。
android のアプリを作成したい場合は、JDK(JavaDevelopmentKit)、SDK(SoftwareDevelopmentKit)、NDK(NativeDevelopmentKit)を入手しておく必要があります。

rhodesのインストール

まずは、gemでrhodesをインストールします。
ruby のバージョンは、1.8.7 を使用。

 # gem install rhodes

あっという間にインストールされます。
rhodes は、3.3.1 をインストールしました。

rhodesのセットアップ

JDKとかSDKのパスを登録します。(iPhoneSDKは自動で認識するようです)
androidを開発しない場合は、JDKとかのパスはブランクのままEnterでOK。

 $ rhodes-setup
 > JDK path (required) (/Library/Java/Home): ブランクのままEnter
 > Android SDK path (blank to skip) (): /Users/xxxx/android-sdk-mac_x86 ・・・パスを入力してEnter 
 > Android NDK path (blank to skip) (): /Users/xxxx/android-ndk-r7 ・・・パスを入力してEnter
 > Windows Mobile 6 SDK CabWiz (blank to skip) (): ブランクのままEnter
 > BlackBerry JDE 4.6 (blank to skip) (): ブランクのままEnter
 > BlackBerry JDE 4.6 MDS (blank to skip) (): ブランクのままEnter
 > BlackBerry JDE 4.2 (blank to skip) (): ブランクのままEnter
 > BlackBerry JDE 4.2 MDS (blank to skip) (): ブランクのままEnter

アプリケーションの作成

rhogen コマンドでアプリケーションを作成します。
railsみたいですね。

 $ rhogen app sample
 > Generating with app generator:
 >      [ADDED]  sample/app/loading.png
 >      [ADDED]  sample/rhoconfig.txt
 >      [ADDED]  sample/build.yml
 >      [ADDED]  sample/.gitignore
 >      [ADDED]  sample/app/application.rb
 >      [ADDED]  sample/app/index.erb
 >      [ADDED]  sample/app/index.bb.erb
 >      [ADDED]  sample/app/layout.erb
 >      [ADDED]  sample/app/loading.html
 >      [ADDED]  sample/Rakefile
 >      [ADDED]  sample/app/helpers
 >      [ADDED]  sample/icon
 >      [ADDED]  sample/app/Settings
 >      [ADDED]  sample/public

次にモデルを作成してみましょう。

 $ rhogen model user name,tel,email
 > Generating with model generator:
 >      [ADDED]  app/User/index.erb
 >      [ADDED]  app/User/edit.erb
 >      [ADDED]  app/User/new.erb
 >      [ADDED]  app/User/show.erb
 >      [ADDED]  app/User/index.bb.erb
 >      [ADDED]  app/User/edit.bb.erb
 >      [ADDED]  app/User/new.bb.erb
 >      [ADDED]  app/User/show.bb.erb
 >      [ADDED]  app/User/user_controller.rb
 >      [ADDED]  app/User/user.rb
 >      [ADDED]  app/test/user_spec.rb

index.erbの最下部のリンクを編集して保存。

 $ vi app/index.erb
 ---------------------------------------------
<li><a href="#">Add link here...</a></li>
↓
<li><a href="/app/User/index">UserList</a></li>
 ---------------------------------------------


環境に合わせてbuild.ymlを編集します。

 $ vi build.yml
 ---------------------------------------------
android:
  version: 2.1
 ↓
android:
  version: 2.2
 ---------------------------------------------

以上で準備完了です。

アプリケーションの起動

androidの場合

 $ rake run:android

iPhoneの場合

 $ rake run:iphone


ビルドに少し時間はかかりますが、シュミレーターでアプリケーションが立ち上がりました。
全ての機能が使えるわけではありませんが、rails感覚でスマートフォン開発ができるのはいいですね。

2012/2/9 追記

標準のシュミレーターを立ち上げる方法を教えてもらいました。(ビルドしないので立ち上がりが速いです)
通常のシュミレーターを立ち上げるコマンドに、「:rhosimulator」を付与します。

 $ rake run:iphone:rhosimulator