官术网_书友最值得收藏!

Xamarin platforms

The different Xamarin platforms available are Xamarin.iOS, Xamarin.Android, and Xamarin.Mac. In this section, we will take a look at each of them.

Xamarin.iOS

Xamarin.iOSis used to build apps for iOS with .NET and contains the bindings to theiOS APIs mentioned previously.Xamarin.iOS uses AOT compiling to compile the C# code into Advanced RISC Machine (ARM) assembly language. The Mono runtime runs alongside the Objective-C runtime. Code that uses .NET namespaces, such as System.LinqorSystem.Net, are executed by the Mono runtime, while code that uses iOS-specific namespaces are executed by the Objective-C runtime. Both the Mono runtime and the Objective-C runtime run on top of theX is Not Unix (XNU) Unix-likekernel(https://github.com/apple/darwin-xnu), which was developed by Apple. The following diagram shows an overview of the iOS architecture:

Xamarin.Android

Xamarin.Android is used to build apps for Android with .NET and contains bindings to the Android APIs. The Mono runtime and the Android Runtime (ART) run side by side on top of a Linux kernel. Xamarin.Android apps could either be Just-In-Time (JIT)-compiled or AOT-compiled, but to AOT-compile them, we need to use Visual Studio Enterprise.

Communication between the Mono runtime and ART occurs via a Java Native Interface (JNI) bridge. There are two types of JNI bridges—Manage Callable Wrapper (MCW) and Android Callable Wrapper (ACW). An MCW is used when code needs to run in ART and an ACW is used when ART needs to run code in the Mono runtime, as shown:

Xamarin.Mac

Xamarin.Mac is used to build apps for macOS with .NET and contains the bindings to the macOS APIs. Xamarin.Mac has the same architecture as Xamarin.iOS—t he only difference is that Xamarin.Mac apps are JIT-compiled, unlike Xamarin.iOS apps, which are AOT-compiled. This is shown in the following diagram:

主站蜘蛛池模板: 冕宁县| 嘉荫县| 黄梅县| 刚察县| 泰宁县| 桃园市| 临邑县| 嘉峪关市| 邹平县| 穆棱市| 盐城市| 行唐县| 乌兰浩特市| 平果县| 淮阳县| 梅河口市| 阳山县| 清新县| 马鞍山市| 松潘县| 互助| 酒泉市| 景德镇市| 定西市| 翁源县| 开阳县| 社旗县| 古浪县| 甘洛县| 丹东市| 新蔡县| 宁安市| 武定县| 左云县| 红原县| 茌平县| 广东省| 保靖县| 钟山县| 石楼县| 镇原县|