RubyMotion を利用すると、iOS/Android アプリを Ruby で書け、また Ruby 周辺のエコシステムを利用することが出来るみたいです。
(ただ iOS/Android それぞれのネィティブを作る知識は必要で、またコードの共通化を目的とするものでは無いみたい。)
Android のサポートについては、現時点ではまだ パブリックベータ です。
会社で RubyMotion のライセンスを買ってもらったので始めてみました。まだ初心者ですが、Hello World を表示するまでのメモをここに残します。
前提
- 手元の OS:
Mac OS X 10.9.5 (Mavericks)
- Ruby:
2.1.2p95
- 私は rbenv でバージョンを管理しています。
- あらかじめ Xcode のインストールが必要です。
- IDE は RubyMine を使います。
- ただ、なくても手持ちのエディタで大丈夫だと思います。RubyMine は有償ですし。
- RubyMine は RubyMotion をサポートしているのですが、今回は何もその機能は利用しません..
ちなみに RubyMotion の公式ページは http://www.rubymotion.com です。ライセンスは現時点(2014/11/05)で $199.99 です。お試しが出来ないので、何をするにしても、まずは購入する必要があります(一ヶ月以内?の返金制度はあるみたい)。
始める手順
① RubyMoiton のインストール
公式サイトにてライセンスを購入すると、メールでインストーラーのURLと、ライセンスキーが送られてきます。インストーラーを解凍して起動します。
ライセンスキーを入力して、しばらく待ちます。
インストールが終わると、パスが通ってるはずなので、確認してみます。
$ motion --version
2.37
② Hello World してみる
ほぼ こちら の手順のまんまですが、やってみます。
-
プロジェクトを作成します。
$ motion create HelloMotion
次のようにファイルが展開されます。
Gemfile
とRakefile
の中身はこんな感じ。Gemfilesource 'https://rubygems.org' gem 'rake' # Add your dependencies here:
Rakefile# -*- coding: utf-8 -*- $:.unshift("/Library/RubyMotion/lib") require 'motion/project/template/ios' begin require 'bundler' Bundler.require rescue LoadError end Motion::Project::App.setup do |app| # Use `rake config' to see complete project settings. app.name = 'HelloMotion' end
-
この状態でビルドしてみます。
$ rake
iOS Simulator が自動で起動して、真っ黒な画面が表示されました。
-
app_delegate.rb
を次のように修正して、Hello World を表示してみます。app_delegate.rbclass AppDelegate def application(application, didFinishLaunchingWithOptions:launchOptions) alert = UIAlertView.new alert.message = "Hello World!" alert.show true end end
再びビルドします。
$ rake
表示されました^^
おわりに
下記は、RubyMotion で参考になるサイトです。
- 公式の Developer Center
次のステップとしては、上記の日本語訳の中にあるチュートリアルをやってみようと思います。