BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース アプリケーションのスクリプトにMacRubyを組み込む

アプリケーションのスクリプトにMacRubyを組み込む

ブックマーク

目前に迫ったMacRubyのリリースには、新たな機能が含まれる。それは、組み込みを促進し、ランタイムを使用してObjective-Cアプリケーションをスクリプトする機能である。Matt Mower氏は、他のObjective-CスクリプトまたMacRubyトランクで現在利用可能なAPIよりもMacRubyを選択する理由を説明している(リンク)。MacRubyでMatt氏が使用しているアプリケーションはElysiumであり、音楽向けのアプリケーションである(リンク)

わたしがほとんど最初から考えにあったのは、Elysiumはスクリプト可能であるべきだということでした。アプリケーションのパーツをスクリプトできる 機能によって、音楽の戦略に対してさらにコントロールできるようになります。たとえば、スクリプトは、曲の「パワー」を制御するために、プレーヘッドが生 成される頻度を制限する場合があります。


Matt氏は続けて、MacRubyをObjective-Cアプリケーションから使用する方法について説明し、いくつか使用すべき呼び出しを示している。たとえば、CococaアプリケーションからRubyソースを実行するには、以下のようにおこなう。

[[MacRuby sharedRuntime] evaluateString:rubySource]

Matt氏の例はまた、Objective-CアプリケーションのコールバックとしてRubyコードのスニペットを簡単に使用する方法を示している。

MacRuby 0.4で実現されるべき変更を確認するために、 MacRubyのGitHubミラー(リンク)がある(リポジトリのCommitsページ(リンク))。

MacRubyは、Objective-Cと完全に統合されている。たとえば、基本的なRubyタイプの多くが、直接Objective-Cタイプにマップされる(参考記事)。このため、MacRubyはJRubyやIronRubyと同様の利点がある。言い換えれば、OSXで公開されているような、大量の既存のライブラリに対する単純かつ能率的なアクセスが可能である。たとえばAppleは、iPhone Enterpriseユーティリティ向けの実装言語として(参考記事)、すでにRuby(MacRubyではない)を使用している。

Objective-Cアプリケーションに取り組んでいるか?もし、イエスなら、MacRubyやMatt Mower氏がリストしたほかのスクリプト(Nu、JSCoreなど)のどれかを選択してはどうか?

原文はこちらです:http://www.infoq.com/news/2008/10/macruby-embedding

この記事に星をつける

おすすめ度
スタイル

BT