- Xamarin.Forms Projects
- Daniel Hindrikes Johan Karlsson David Ortinau
- 291字
- 2021-06-18 18:35:22
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:

- 嵌入式Linux開發技術
- Windows Server 2019 Cookbook
- Cybersecurity:Attack and Defense Strategies
- 從零開始寫Linux內核:一書學透核心原理與實現
- Instant Optimizing Embedded Systems using Busybox
- 嵌入式實時操作系統μC/OS原理與實踐
- Linux內核設計的藝術:圖解Linux操作系統架構設計與實現原理
- Windows Server 2012網絡操作系統項目教程(第4版)
- 辦公自動化教程(Windows7+Office2010)
- 再也不踩坑的kubernetes實戰指南
- Mastering AWS CloudFormation
- UNIX傳奇:歷史與回憶
- Windows 10從入門到精通
- VMware Virtual SAN Cookbook
- Windows8應用開發權威指南