• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

ニュース

iPhoneアプリをRubyで開発できる、「MobiRuby」のソースコードが公開

進藤 智則=日経コンピュータ 2012/09/14 日経コンピュータ
図1●MobiRubyの構成(増井氏による図)
図1●MobiRubyの構成(増井氏による図)
[画像のクリックで拡大表示]
図2●増井氏がMobiRubyを用いて開発したゲームアプリの画面例。既にAppStoreで「MobiRuby」の名前で公開されている
図2●増井氏がMobiRubyを用いて開発したゲームアプリの画面例。既にAppStoreで「MobiRuby」の名前で公開されている
[画像のクリックで拡大表示]

 iOS向けのアプリをRubyで開発可能にするソフトウエア「MobiRuby」がリリースされた。開発者の増井雄一郎氏が、Github上でソースコードを公開した。併せて同氏は、2012年9月14日に札幌で開催された「札幌Ruby会議2012」で講演し、MobiRubyについて解説した(同氏の講演資料)。

 増井氏は2012年3月よりMobiRubyの開発に着手し、約半年で公開にこぎ着けた。現在はアルファ版の段階だが、2013年第一四半期までに正式版(ver.1)を公開する予定である。MobiRubyはC言語で実装してあり、コード量は約3000行という。まつもとゆきひろ氏らが開発した軽量版のRuby「mruby」を用いている(関連記事)。

Objective-CとRubyの間のブリッジ

 MobiRubyは、Objective-CとRubyの間のブリッジの役割をする。Objective-CのクラスをRubyプログラム側で継承して利用したり、その逆も可能である。Rubyには実行時に動的にクラスやメソッドを追加できるリフレクションの機能があるため、この機能を利用してiOSのCocoa TouchのクラスなどをRuby側で利用できるようにした。Objective-Cにも、動的なメソッド追加の機能などがあり、それを利用している。

 MobiRubyを用いてiOSアプリを開発するには、現状ではiOSとObjective-Cの知識が必要である。Rubyプログラム上でiOSのAPIを呼び出したり、Objective-Cの型を指定したりする必要があるからだ。このため、「まだ一般の開発者が製品レベルの開発に使える段階ではない」(増井氏)という。

Android版も

 将来的には、iOSのAPIを抽象化しラップするレイヤーも開発する予定である。また、MobiRubyのAndroid版についても2013年中に公開予定だ。

 iOSアプリをRubyで開発できるようにするソフトウエアとしては、MobiRuby以外にも「RubyMotion」や「Rhodes」がある(日経コンピュータ関連記事)。RubyMotionはLLVMを用いてRubyコードを直接、機械語にネイティブコンパイルする。RhodesはUI部をHTMLで構築する、いわゆる「ハイブリッド型」のフレームワークである。ロジック部のみをRubyで記述する。

 なお、MobiRubyの開発者の増井氏は、JavaScriptでスマホアプリを開発可能にするフレームワーク「Titanium Mobile」を手掛ける米AppceleratorのPlatform Evangelistでもある(関連記事)。

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【記者の眼】

    マイナンバーの行く手に見えてきた厄介な課題

     ついにマイナンバー制度の情報連携とマイナポータルの試行運用が7月18日に始まった。情報連携を担うのは、国の機関や自治体が個別に保有している住民個人情報を連携させる「情報提供ネットワークシステム」である。制度としては試行運用だが、マイナンバー制度の基盤を支えるシステムとしては本格稼働したことになる。

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

ネットワーク/通信サービス

セキュリティ

もっと見る