• はてなブックマークに追加
  • Yahoo!ブックマークに登録
組み込み向けプログラミング言語“mruby”“MobiRuby”が誕生!
まつもとゆきひろと
増井雄一郎が創る“軽量Ruby”とは
「Ruby」の生みの親であるまつもとゆきひろ氏が、組み込み向けの軽量版「mruby」を開発した。また増井雄一郎氏は、RubyでiOSアプリをつくることができる「MobiRuby」を開発中だ。今回はmrubyとMobiRubyが誕生するまでの背景を紹介する。
(取材・文 総研スタッフ/宮みゆき 撮影/佐藤聡)作成日:12.11.16
今回の登壇者プロフィール
まつもと ゆきひろ氏
まつもと ゆきひろ氏
筑波大学卒業。静岡県浜松市に居住していた頃、効率的に記述できるプログラム言語の実現を目指し、Rubyの開発を始める。現在は島根県松江市に在住し、株式会社ネットワーク応用通信研究所(NaCl)にフェローとして勤務。2007年より楽天の楽天技術研究所のフェローを兼務、またRubyの普及を目的として設立されたRubyアソシエーションの理事長も務める。2009年にはRubyの開発に関する功績を認められ、松江市の名誉市民に選出された。2011年にはHeroku, Inc.チーフアーキテクトにも就任。
増井 雄一郎氏
増井 雄一郎氏
2009年までAjax、Ruby on Railsなどの技術を使った Webアプリケーションの構築や雑誌・書籍への執筆をフリーランスとして活動。PukiWikiなどのソーシャルアプリケーションの企画・開発を得意とする。2008 年より渡米しiPhone、iPad関連のアプリケーション開発に従事。主な著書に「Ajax 実装のための基礎テクニック」(技術評論社)「PukiWiki入門まとめサイトをつくろう!」(翔泳社)。2010年12月に帰国。2012年9月まで、Appcelerator Inc.テクニカルエバンジェリストとして活動。現在は、FrogAppsのCTOとして、「ミイル(miil)」の開発に注力している。http://blog.masuidrive.jp/
組み込み向けの軽量版Ruby「mruby」が生まれた背景

「Ruby」を開発したまつもとゆきひろ氏は、世界で最も知られた日本人ソフトウェア技術者と言っても過言ではないだろう。RubyがWebサービスで多く使われるようになった理由はコンピュータ性能を向上させることにあるのだが、それだけでなく「美しい」「性能がいい」「バランスがいい」ということからで愛されている。しかしながら、コンピュータの世界はWebだけではない。組み込みという領域、そこにもRubyを広げたいと思ったことが、組み込み向けの軽量版Rubyを開発するきっかけとなった。

 そして、福岡県の企業や大学が、組み込み向けの軽量Rubyプロジェクト誕生を大きく後押ししたという。福岡県にはメーカーや、関連する組み込み開発を行うソフトウェア関係の企業が多い。最近のデジタル家電は、PC並みのスペックや通信機能が搭載されるようになり、デバイスの性能もどんどん向上している。当然、必要となる組み込みソフトウェアの量は増大し、厳しい納期に追われる技術者たちの負担は大きくなっており、組み込みソフト開発の生産性を上げるニーズは日々高くなっていた。そこで福岡県の企業からの相談を受けたまつもと氏は、協同して経済産業省の「地域イノベーション創出研究開発事業」に応募。その助成を受けて軽量Ruby「mruby」の開発プロジェクトが始まった。

 プロジェクトが開始されたのは、2009年の春。まずは組み込みでRubyに必要なものは何かを検討したという。 「あらためて組み込みのシステムを考えてみると、テレビやカーナビなど家電のすべてをRubyで書くというのは現実的ではない。ネットワーク機能など、システムのごく一部をRubyで書いて、その生産性を上げ、コストダウンを図りたいと思いました。また、すでにRubyが主で、mrubyの機能追加が従という関係性ができているので、APIの関係の主従関係を逆転させるのは現実的ではない。主従関係によって住み分けようということになりました」(まつもと氏)

 今回の開発では、Ruby(CRuby)よりもmrubyの性能を上げるということは考えず、処理系サイズや機能の大きさなども気にしないこととした。そして環境としては、新しいAPIがあり、新しいバーチャルマシンがあるところに対して、mrubyを提供することになった。そして、組み込みでRubyを必要とする人がいるとすれば、それはどんな人で、どんな機能を求めているかを調査。仮想マシンやライブラリを、C言語の「C99」の範囲で実装し、高い移植性を実現した。ソフトリアルタイムにも対応している。



iPhoneアプリをRubyで開発できる「MobiRuby」誕生秘話

 そして、まつもと氏が開発したmrubyにいち早く目をつけ、RubyでiOSアプリをつくることのできる「MobiRuby」を開発しているのが、増井雄一郎氏だ。現在iPhone版は公開済みで、来年にはAndroid版のリリースも計画されている。

 増井氏がmrubyを知ったのは、2010年のRubyカンファレンス。組み込み用のRubyということであれば、iPhoneやAndroidでも動かすことができるのでは、と興味をもってまつもと氏に確認をとったという。ところが1年半経っても返事がなかったため、あらためてTwitterでアプローチしてみたところ、3月に公開するとの返事を得て、まつもと氏からソースコードをもらって開発を始めた。当時アメリカにいた増井氏は、なんと帰りの飛行機14時間でMobiRubyのプロトタイプをつくったという。(参考URL: http://togetter.com/li/301784 http://mobiruby.org)



 CocoaはObjective-Cのクラスをmrubyで継承して、それをさらにObjective-Cで継承するなどの等価的なことが可能である。 「まず最初につくったのが、Objective-CとRubyの間のブリッジ機能。Cの記述をすべてMobiRubyから行えるようにしました。次に、「mruby-cocoa」というライブラリをつくりました。ここからがMobiRubyの本体。Cocoaが持っている『Cocoa Runtime』という非常に面白い機能をベースにしています。これを使うことで、Cocoaの拡張をプログラムの実行時に行うことができます。これにより、新しくObjective-Cのクラスを定義したり、新しいメソッドを動的に追加するなど、Objective-Cと同じことをMobiRuby上で行えるようになっています」(増井氏)

  iOSのAppStore上には、すでにMobiRubyで書かれた「MobiRuby Game」というアプリもリリースされている。また、MobiRubyのメリットとデメリットをまとめると、以下のように挙げられるという。

<メリット>
  • Rubyの動的な力を十分に発揮できる
  • MITライセンスで提供されている
<デメリット>
  • まだ製品レベルではない
  • デバックの機能が弱い
  • iOSとCocoaの知識が必要である

※本レポートは、9月5日にマルチメディアスクールWAVE 新宿本校(http://www.mswave.co.jp/index.html)がmrubyとMobiRubyに興味のある開発者向けに開催したイベントでの取材をもとにしています。

  • はてなブックマークに追加
  • Yahoo!ブックマークに登録
あなたを求める企業がある!
まずはリクナビNEXTの「スカウト」でチャンスを掴もう!
スカウトに登録する

このレポートを読んだあなたにオススメします

2013年は、mruby、MobiRubyで世界中にRubyブームを巻き起こす!

まつもとゆきひろ、増井雄一郎の“Ruby”ギークライフ

世界にRubyの存在感を示していきたい──組み込み向けプログラミング言語“mruby”“MobiRuby”を開発する…

まつもとゆきひろ、増井雄一郎の“Ruby”ギークライフ

Rubyまつもと氏、Palmscape奥氏、うたうたう新井氏のホンネ 

生まれた時からプログラマ☆興味と感性で世界を驚かす

プログラマは下流工程、早く抜け出してSE、そしてPMへ上がりたい……なんて思っているソフトエンジニアの皆さん。その考えは間違って…

生まれた時からプログラマ☆興味と感性で世界を驚かす

我ら“クレイジー☆エンジニア”主義!

世界のオープンソースRuby開発者まつもとゆきひろ

我ら“クレイジー☆エンジニア”主義!今や世界に知られるオープンソースのプログラミング言語「Ruby」を開発した、まつもとゆきひろ氏。シンプルで利便性に優れたオブジェ…

世界のオープンソースRuby開発者まつもとゆきひろ

【前編】数学が苦手でRubyを開発、「ヒット曲」の理由とは?

茂木健一郎×まつもとゆきひろ「言語デザイナーの脳」

脳科学者の茂木健一郎氏と、Rubyの開発者まつもとゆきひろ氏の対談が実現! その前編は「言語デザイナーの脳」です。プロ…

茂木健一郎×まつもとゆきひろ「言語デザイナーの脳」

Pythonユーザー向けカンファレンス「PyCon JP 2012」レポート!

Perlハッカー小飼弾氏が語る、Pythonは傲慢な外国語!?

9月15日〜17日に開催され、480名を超える来場者を集めた「PyCon JP 2012」。中でも編集部が注目したのは…

Perlハッカー小飼弾氏が語る、Pythonは傲慢な外国語!?

やる気、長所、労働条件…人事にウケる逆質問例を教えます!

質問を求められたときこそアピールタイム!面接逆質問集

面接時に必ずといっていいほど出てくる「最後に質問があればどうぞ」というひと言。これは疑問に思っていることを聞けるだけで…

質問を求められたときこそアピールタイム!面接逆質問集

この記事どうだった?

あなたのメッセージがTech総研に載るかも

あなたの評価は?をクリック!(必須)

あなたのご意見お待ちしております

こちらもお答えください!(必須)

歳(半角数字)
(全角6文字まで)
  • RSS配信
  • twitter Tech総研公式アカウント
  • スカウト登録でオファーを待とう!
スマートグリッド、EV/HV、半導体、太陽電池、環境・エネルギー…電気・電子技術者向け特設サイト

PAGE TOP