Mono for Android

提供: MonoBook
2012年3月22日 (木) 09:44時点におけるimported>Administratorによる版 (→‎互換性)
ナビゲーションに移動 検索に移動

Mono for Android(もの・ふぉー・あんどろいど)とは、Android OS上で動作するMono実行環境およびMonoDevelopをベースとした開発ツールである。ベータ版まではMonoDroid(ものどろいど)という名称であった。

Android実機で動かせる製品版は有償。 Androidエミュのみで動かせる体験版は無償。 Monoの開発を主導するXamarinの貴重な収入源であり、MonoTouchとMono for Androidのおかげで、他の関連プロジェクトも含め、マニュアルを書く専門の人を雇えるくらい安定して回るようになったという。

アーキテクチャー

Mono for Androidは、Andorid標準のDalvik仮想マシン上で動くのではなく、Andoroid OSの根底にいるLinuxの上で、Dalvik仮想マシンと同様に、Dalvik仮想マシンと並行するかたちでMono仮想マシンが実行されるようになっている。Mono仮想マシン自体はDalvik仮想マシン同様にC言語で書かれている。

オーディオやグラフィック、OpenGL、電話制御といったDalvik仮想マシンが提供しているJava APIについても、Mono仮想マシンとDalvik仮想マシンをブリッジするクラスの提供により利用することができる。

メリットとデメリット

互換性

通常、Android OSのアップデートとDalvik仮想マシンのアップデートはイコールであり、Android端末によっては製造メーカーの放置プレイにより最新のAPIが利用できない、製造メーカーがアップデートを提供してもユーザーの放置により同一端末で複数のOSバージョンが存在し挙動が違う、などの問題を抱えていることがある。

一方、Mono仮想マシンはアプリと同梱されて配布されるため、Mono仮想マシンを半ば強制的にアップデートできるようになっている。つまりOSとアプリをセット配布しているようなものであり、Androidのアプリ互換性問題を大幅に軽減でき、かつアップデートしていない端末でも最新APIが叩けたりする。

ただしアプリのサイズが桁違いに超巨大化するというデメリットもある。

※ベータ版まではMono仮想マシンは単体アプリとして配布する形式だったが、製品版ではアプリの互換性の向上のためにアプリと同梱されるようになった。

開発環境

Windows上であればMonoDevelopに加え、Visual Studioのアドオン版も提供されているので快適に開発が行える。

アドオンが使えないVisual Studio Expressでは動かないため、Visual Studioの製品版を買う必要があり、Mono for Androidと合わせるとなかなかの出費になるというデメリットもある。ただ前述の互換性云々よりもC#が使いたいがために導入しようとしている人はVisual Studioの製品版くらい持っていそうではある。

なお、WindowsでもMac OS XでもLinuxでもMonoDevelopを使う限りは、特に追加の出費はない。積極的にMonoDevelopになれるのもひとつ。少なくともMonoDevelopはEclipseよりは軽いので仕事で縛りがなければNetBeansを使うくらいEclipseが嫌いな人には少なからずメリットかもしれない。

インストール

使い方

関連項目

参考文献

外部リンク