Xamarin 是一个 .NET 开源的平台,主要用于通过 .NET 构建 IOS 、 Android 以及 Windows App 。利用 Xamarin 我们可以管理不同平台 APP 的共享代码与基础平台代码的通信,并且 Xamarin 上开发的 APP 是在托管环境中运行的,也就是说它会帮助我们来管理内存分配、垃圾回收等事情。Xamarin 可以让开发人员跨平台共享应用程序的代码,这样就可以使用一种编程语言开发所有平台的 App 。
Tip:编译、部署 IOS 应用程序必须在 MacOS 种进行。
Xamarin 可以在每个平台上创建本机 UI ,并在 C# 里编写跨平台的共享业务逻辑。
1.添加功能 Xamarin 除了包含目标平台的功能,还新增了如下功能:
2.Xamarin.Android Xamarin.Android 将 C# 编译为 IL ,启动应用程序时实时编译为本机程序集。 Xamarin.Android 开发的应用程序是运行在 Mono 环境中的,Mono 环境与 Android 运行时虚拟机并行运行。 Xamarin 会向 Android.* 和 Java.* 命名空间提供 .NET 绑定。 Mono 执行环境通过托管可调用包装器引入 Android.* 和 Java.* 命名空间,并向 Android 运行时提供 Android 可调用包装器,这使的两种环境可以相互调用代码。
3.Xamarin.IOS Xamarin.IOS 将 C# 编译为 ARM 程序集代码。 Xamarin 使用选择器向托管 C# 公开 Objective-C,并使用注册器向 Objective-C 公开托管 C# 代码。选择器和注册器共同称为“绑定”,使 Objective-C 和 C# 可以进行通信。
4.Xamarin.Essentials Xamarin.Essentials 是为本机设备功能提供跨平台 API 的库。 它和 Xamarin 一样是一种简化本机功能访问过程的抽象。 Xamarin.Essentials 提供的功能包括:
5.Xamarin.Forms Xamarin.Forms 是一个开源 UI 框架。它可以让开发人员从共享代码生成 iOS、Android 和 Windows 应用程序。 Xamarin.Forms 使用 XAML 来创建 UI 界面。这些 UI 会在不同平台上呈现为本机控件。 Xamarin.Forms 提供的功能包括:
这篇主要简单的介绍了一下 Xamarin 相关的知识,属于入门级别的内容。从下节开始我将的通过贯穿整个专栏的例子来讲解 Xamarin.Forms 。这里要提醒各位读者的是,这个专栏讲解的是 Xamarin.Forms 的知识,它是整个 Xamarin 的基础。后续专栏我将讲解 IOS 、Android 、 Essentials 以及 XAML 相关的内容 。