以下の内容はhttps://www.aruse.net/entry/2018/09/26/082234より取得しました。


Xamarin.Forms入門 キホンのキ - Xamarinの動作原理

Xamarin の動作原理

Xamarin の動作原理というと大げさですが、Xamarin は .NET Framework のクロスプラットフォーム版である Mono 上で動作します。

Mono 上で動作することで、クロスプラットフォームでの動作を実現させています。

f:id:fnyablog:20180926081825p:plain

Android/iOS 端末にアプリをインストールする際、Mono も一緒にインストールされます。

そのため、Mono がインストールされることで、小さなアプリケーションではアプリのサイズが大きくなることには注意が必要です。

また、Android と iOS では実際の動作原理が少々異なります。

Android の動作原理

f:id:fnyablog:20180926081857p:plain

Android の開発では、Xamarin で C# のコードをコンパイルすると、IL(Intermediate Language)という中間言語を生成します。

そして、Mono と一緒に Android の端末にアプリをインストールし、実行時に Just-In-Time(JIT)コンパイルを実行し、ネイティブコードを生成します。

この動作は、Windows での .NET 開発と同様です。

iOS の動作原理

f:id:fnyablog:20180926082003p:plain

iOS の開発では、Apple が JIT でのコンパイルを規約で禁止しているため、Xamarin で C# のコンパイルを行った後、Xcode でネイティブコードに事前にコンパイルします(AOTコンパイル)。

ネイティブコードになったものをアプリとして、iOS の端末にインストールします。

この動作原理のために、iOS の開発では Mac が必須になるという訳ですね。

連載目次




以上の内容はhttps://www.aruse.net/entry/2018/09/26/082234より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14