2010-11-04

MacRuby 0.7 を iMac にインストール

Mac mini に MacRuby 0.5 beta 2 をインストールしたのが、ほぼ 1 年前のこと。以来、バージョンは 0.5、0.6 と進み、先月(2010-10-01)、0.7 がリリースされた。

以前、参照した 公式 Roadmap はどうやらメンテナンスされておらず記述が古いままになっている。公式ブログから 0.5 beta 2 以降の変更を追跡してみる。

MacRuby のこれまで (0.5 〜 0.7)

0.1 〜 0.5 beta 2 までは以前にまとめた(→ 「MacRuby のこれまで (0.1 〜 0.5 beta 2)」)。ここでは、それ以降の変化を追う。

0.5 (released @ 2010-01-31)

ブログに書かれているのは以下の 3 つ。

  • HotCocoa が MacRuby プロジェクトから独立して GitHub で管理されるようになり、gem 化されたこと(使うには require 'hotcocoa' より前に require 'rubygems' が必要になる)
  • AOT (Ahead-of-Time) コンパイラで(macrubyc)、複数の rb ファイルをまとめてダイナミックライブラリにすることができるようになったこと。また、macrubyc 用のマニュアルページもできた。
  • GCD サポートが完成したこと。GCD を MacRuby で使うためのドキュメントもできた(→ An Introduction to GCD with MacRuby)。
0.6 (released @ 2010-04-30)

0.5 のリリースから 3 ヶ月で 0.6 がリリースされた。ブログには、数多くの新機能が追加されたとともに、全体的な安定性も大きく向上したと書かれている。

主要な変化として挙げられているのは以下の通り。

  • Cocoa アプリを開発できるだけの安定性を備えたこと。Xcode 上で MacRuby の AOT コンパイラを使ったアプリを開発できるようになった。
  • 実験的に、コマンドライン版のデバッガ macrubyd が提供されたこと。デバッグモードでコンパイルすれば、gdb と同様のデバッグを行うことができる。
  • GCD に対して、より抽象度の高い API (dispatch ライブラリ)が提供されたこと。チュートリアルも用意されている(→ Grand Central Dispatch for MacRuby)。
  • 基礎的なクラスを書き直したこと。
    • HashNSMutableDictionary を継承する新しいクラスとなった(これまでは NSMutableDictionary の別名だった)。
    • StringNSMutableString を継承する新しいクラスとなった。エンコーディングの変換に ICU framework を使うようになった。
    • Symbol がユニコード文字を扱えるように書き直された。
    • Regexp が 鬼車に代わって ICU framework を使うように書き直された。
  • Ruby (MRI) との互換性が向上したこと。
    • MRI 用に書かれた C 言語による拡張機能に対するサポートを提供。これにより Nokogiri、SQLite3、そして PostgreSQL 拡張を MacRuby から使えることを確認ずみ。
    • RubySpecs の互換性テストのうち 85% に合格。修正版ながら Rails 3 を動かすことができるようになった。MRI 1.9 のエンコーディングのサポートも向上。
0.7 (released @ 2010-10-01)

0.6 から 5 ヶ月で 0.7 がリリース。ブログによると、目立った機能の追加はないが、その分既存の機能の強化に努めたとのこと。

主要な変化として挙げられているのは以下の通り。

  • Cocoa サポートが向上したこと。
    • C ブロック のサポートを追加。ただし、BridgeSupport をインストールする必要がある。
    • sandbox 機能のサポート(Sandbox クラスを提供)。
  • 並列性とパフォーマンスが向上したこと。
  • MRI との互換性が向上したこと。RubySpecs で 90% を達成。ただし、Rails を無修正で動かすまでには至っていない。

iMac にインストールする

MacRuby のパッケージをダウンロード

公式サイトの右上には「Current Version: 0.7.1」と出ている。ところがダウンロードページにある Lates Stable Release にあるのは 0.7 へのリンク。0.7.1 を落とすには配布ファイルの置き場所を開く必要がある。以下に、0.7.1 へのリンクとあわせて書いておく。

MacRuby をインストール

ダウンロードした zip を展開すると(Finder からダブルクリックで OK)、MacRuby 0.7.1 というフォルダが作られる。この中にある MacRuby 0.7.1.pkg がインストーラだ。これをダブルクリックするとインストールが始まる。ライセンスに同意して、管理者のパスワードを入力すればインストールは完了。

ターミナルを開いて確認。

[imac] mnbi% hash -r
[imac] mnbi% which macruby
/usr/local/bin/macruby
[imac] mnbi% macruby -v
MacRuby 0.7.1 (ruby 1.9.2) [universal-darwin10.0, x86_64]
HotCocoa をインストール
[imac] mnbi% macgem list

*** LOCAL GEMS ***


[imac] mnbi% macgem search hotcocoa --remote

*** REMOTE GEMS ***

hotcocoa (0.5.1)
[imac] mnbi% sudo macgem install hotcocoa
Password:
Successfully installed hotcocoa-0.5.1
1 gem installed
[imac] mnbi% macgem list

*** LOCAL GEMS ***

hotcocoa (0.5.1)
[imac] mnbi% ls /Library/Frameworks/MacRuby.framework/Versions/0.7.1/usr/lib/ruby/Gems/1.9.2/gems
hotcocoa-0.5.1/

着実な進歩

どうやらこの 1 年間で MacRuby は着実に進歩したようだ。まあ、ブログのアナウンス記事を斜め読みするぐらいでは、具体的に何ができて、この先どこを目指しているのかまではわからないけどね。

関連リンク

関連記事

0 件のコメント:

コメントを投稿