「Mono for Android」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''Mono for Android''' | + | '''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言語]]で書かれている。 | ||
+ | |||
+ | オーディオやグラフィック、[[OpenG]]L、電話制御といったDalvik仮想マシンが提供しているJava APIについても、Mono仮想マシンとDalvik仮想マシンをブリッジするクラスの提供により利用することができる。 | ||
+ | |||
+ | == メリットとデメリット == | ||
+ | === 互換性 === | ||
+ | 通常、[[Android OS]]のアップデートと[[Dalvik仮想マシン]]のアップデートはイコールであり、[[Android]]端末によっては製造メーカーの放置プレイにより最新の[[API]]が利用できない、製造メーカーがアップデートを提供してもユーザーの放置により同一端末で複数バージョンの[[OS]]が存在し、それぞれの挙動が違う、などの問題を抱えていることがある。 | ||
+ | |||
+ | 一方、Mono仮想マシンはアプリと同梱されて配布されるため、Mono仮想マシンを半ば強制的にアップデートできるようになっている。つまり[[OS]]とアプリをセット配布しているようなものであり、Androidのアプリ互換性問題を大幅に軽減でき、かつアップデートしていない端末でも最新APIが叩けたりする。 | ||
+ | |||
+ | ただしアプリのサイズが桁違いに超巨大化するというデメリットもある。 | ||
+ | 単純な「[[Hello World]]」ですら4MBを超えるapkファイルとなる。 | ||
+ | また、アプリの起動には仮想OSの起動も伴うため、立ち上がりに時間がかかるという問題もあるが、最新バージョンでは大幅に改善されつつある。 | ||
+ | |||
+ | ※ベータ版まではMono仮想マシンは単体アプリとして配布する形式だったが、製品版ではアプリの互換性の向上のためにアプリと同梱されるようになった。また開発環境(デバッグ版)では起動速度の高速化のために共有仮想マシンを使うようになっている。 | ||
+ | |||
+ | === 開発環境 === | ||
+ | [[Windows]]上であれば[[MonoDevelop]]に加え、[[Visual Studio]]のアドオン版も提供されているので快適に開発が行える。 | ||
+ | |||
+ | アドオンが使えないVisual Studio Expressでは動かないため、Visual Studioの製品版を買う必要があり、Mono for Androidと合わせるとなかなかの出費になるというデメリットもある。ただ前述の互換性云々よりも[[C Sharp|C#]]が使いたいがために導入しようとしている人はVisual Studioの製品版くらい持っていそうではある。 | ||
+ | |||
+ | なお、[[Windows]]でも[[Mac OS X]]でも[[Linux]]でも[[MonoDevelop]]を使う限りは特に追加の出費はない。積極的に[[MonoDevelop]]になれるのもひとつ。少なくとも[[MonoDevelop]]は[[Eclipse]]よりは軽いので仕事で縛りがなければ[[NetBeans]]を使うくらい[[Eclipse]]が嫌いな人には少なからずメリットかもしれない。 | ||
+ | |||
+ | == インストール == | ||
+ | |||
+ | == 使い方 == | ||
+ | |||
+ | == 関連項目 == | ||
+ | * [[MonoTouch]] | ||
+ | * [[Unity]] | ||
+ | * [[PlayStation Suite]] | ||
+ | |||
+ | == 参考文献 == | ||
+ | <references /> | ||
+ | == 外部リンク == | ||
+ | * http://xamarin.com/monoforandroid | ||
+ | |||
+ | {{stub}} |