差分

ナビゲーションに移動 検索に移動

Xamarin.Android

4,753 バイト追加, 2015年8月19日 (水) 03:19
ページの作成:「'''Xamarin.Android'''(読み:ざまりんあんどろいど)とは、Android OS上で動作するMono実行環境およびXamarin Studioをベースと...」
'''Xamarin.Android'''(読み:ざまりんあんどろいど)とは、[[Android OS]]上で動作する[[Mono]]実行環境および[[Xamarin Studio]]をベースとした開発ツールである。
ベータ版までは[[MonoDroid]]、初期の製品版は[[Mono for Android]]という名称であった。

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

== アーキテクチャー ==
Xamarin.Androidは、[[Andorid]]標準の[[Dalvik仮想マシン]]上で動くのではなく、[[Andoroid OS]]の根底にいる[[Linux]]の上で[[Dalvik仮想マシン]]と同様に[[Dalvik仮想マシン]]と並行するかたちでMono仮想マシンが実行される。Mono仮想マシン自体はDalvik仮想マシン同様に[[C言語]]で書かれている。

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

== メリットとデメリット ==
=== 互換性 ===
通常、[[Android OS]]のアップデートと[[Dalvik仮想マシン]]のアップデートはイコールであり、[[Android]]端末によっては製造メーカーの放置プレイにより最新の[[API]]が利用できない、また製造メーカーがアップデートを提供してもユーザーの放置により同一端末で複数バージョンの[[OS]]が存在し、それぞれの挙動が異なるなどの問題を抱えていることがある。また一部の機種においては、特定のAPIの挙動が異なる、イベント発生タイミングやイベント発生順序が異なるなどの問題も抱えている。

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

ただし、これはメリットばかりではなく、アプリのファイルサイズが桁違いに巨大化するというデメリットもある。
たとえば単純な「[[Hello World]]」ですら4MBを超える[[apkファイル]]となる。
また、アプリの起動には仮想OSの起動も伴うため、アプリの立ち上がりに時間がかかるという問題もある。この起動時間の問題についてはXamarin.Androidの最新バージョンで大幅に改善されつつある。

※ベータ版まではMono仮想マシンは単体アプリとして配布する形式だったが、製品版ではアプリの互換性の向上のためにアプリと同梱されるようになった。なお、開発環境(デバッグ版)では起動速度の高速化のために共有仮想マシンを使うようになっている。

=== 開発環境 ===
[[Windows]]上であれば[[MonoDevelop]]に加え、[[Visual Studio]]用のアドオン版も提供されており、Visual Studioに慣れた[[プログラマー]]が快適に開発を行えるようになっている。

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

[[Windows]]でも[[Mac OS X]]でも[[Linux]]でも[[MonoDevelop([[Mac]]版は[[Xamarin Studio]]という名称)を使う限りは特に追加の出費はない。積極的に[[MonoDevelop]]に慣れるのもひとつ。少なくとも[[MonoDevelop]]は[[Eclipse]]より軽快に動作するので、仕事で縛りがなければ[[NetBeans]]を使うくらい[[Eclipse]]が嫌いな人には少なからずメリットかもしれない。

== インストール ==

== 使い方 ==

== 関連項目 ==
* [[Xamarin.Mac]]
* [[Xamarin.iOS]]
* [[Unity]]
* [[PlayStation Suite]]

== 外部リンク ==
* http://xamarin.com/monoforandroid

== 参考文献 ==
{{reflist}}

{{stub}}

[[category:Android]]
匿名利用者

案内メニュー