Xamarin.Forms 是一个开放源代码 UI 框架,允许开发人员从单个共享代码库生成 Xamarin.Android、Xamarin.iOS 和 Windows 应用程序。它使开发者能够在 C# 中使用 XAML 创建用户界面,这些界面在每个平台上呈现为高性能的本机控件。
Xamarin.Forms 适用对象
Xamarin.Forms 适用于那些希望跨平台共享 UI 布局和设计、共享代码、测试和业务逻辑,并使用 Visual Studio 在 C# 中编写跨平台应用的开发人员。
Xamarin.Forms 的工作原理
Xamarin.Forms 提供了一个一致的 API,用于跨平台创建 UI 元素,该 API 可以在 XAML 或 C# 中实现,并支持数据绑定模式如 MVVM。在运行时,它使用平台呈现器将跨平台 UI 元素转换为 Android、iOS 和 UWP 上的本机控件,从而确保本机外观和性能,同时实现代码共享优势。
Xamarin.Forms 应用程序通常由共享的 .NET Standard 库和各个平台项目组成。共享库包含 XAML 或 C# 视图以及业务逻辑(如服务或模型),而平台项目包含应用程序所需的特定于平台的逻辑或包。它基于 Xamarin 平台,能够跨平台本机运行 .NET 应用程序。
附加功能
Xamarin.Forms 包含一个大型库生态系统,可向应用程序添加各种功能,以下介绍一些核心附加功能。
Xamarin.Essentials
Xamarin.Essentials 是一个库,为本机设备功能提供跨平台 API,简化了实用工具访问过程。它提供的功能包括设备信息、文件系统、加速计、电话拨号程序、文本到语音转换和屏幕锁定等。
Shell
Xamarin.Forms Shell 简化了移动应用程序开发,提供大多数应用所需的基本功能,例如常见导航体验、基于 URI 的导航方案和集成搜索处理程序。
平台特定内容
Xamarin.Forms 提供了一个公共 API 来跨平台呈现本机控件,但特定平台的功能可能在其他平台上不存在。通过平台特定内容,开发者可以访问仅在特定平台上提供的功能(如 Android 的 ListView 快速滚动),而无需创建自定义呈现器或效果。Xamarin.Forms 包括了用于各种平台特定功能的预建解决方案。
材料视觉对象
Xamarin.Forms 材料视觉对象用于将材料设计规则应用于应用程序,通过视觉对象属性将自定义呈现器选择性地应用于 UI,从而使应用在 iOS 和 Android 中具有一致的外观。