介绍
Xamarin.Forms是一个开源UI框架,Xamarin.Forms允许开发人员从单个共享代码库构建Android,iOS和Windows应用程序。
Xamarin.Forms允许开发人员使用XAML和C#后台代码创建用户界面,这些界面在每个平台上均被渲染为高性能的本机控件。
1、Xamarin.Forms适用于谁:
Xamarin.Forms适用于具有以下目标的开发人员:
- 跨平台共享UI布局和设计。
- 跨平台共享代码,测试和业务逻辑。
- 使用Visual Studio在C#中编写跨平台应用程序。
2、Xamarin.Forms如何工作
Xamarin.Forms提供了一个一致的API,用于跨平台创建UI元素,该API可以用XAML或C#实现,并且支持诸如Model-View-ViewModel(MVVM)之类的模式的数据绑定。
在运行时,Xamarin.Forms利用平台渲染器将跨平台的UI元素转换为Android,iOS和UWP上的本机控件,允许开发人员获得本机的外观,感觉和性能,同时实现跨平台共享代码的好处。
Xamarin.Forms应用程序通常包含一个共享的.NET Standard库和各个平台项目。 共享库包含XAML或C#视图以及任何业务逻辑,例如服务,模型或其他代码。 平台项目包含应用程序需要的任何特定于平台的逻辑或程序包。
Xamarin.Forms使用Xamarin在各个平台上本地运行.NET应用程序。
3、其他工具
Xamarin.Forms具有庞大的NuGet软件包生态系统,可以为应用程序添加各种功能。 本节介绍了一些常用的NuGet软件包。
3.1 Xamarin.Essentials
Xamarin.Essentials是一个为本地设备功能提供跨平台API的库,像Xamarin本身一样,Xamarin.Essentials是一种抽象,它简化了访问本机实用程序的过程。 Xamarin.Essentials提供的一些实用工具示例包括:
- Device info
- File system
- Accelerometer
- Phone dialer
- Text-to-speech
- Screen lock
3.2 Shell
Xamarin.Forms Shell通过提供大多数应用程序所需的基本功能来降低移动应用程序开发的复杂性。 Shell提供的功能的一些示例包括:
- Common navigation experience
- URI-based navigation scheme
- Integrated search handler
3.3 Platform-specifics
Xamarin.Forms提供了一个通用API,可跨平台呈现本机控件,但是特定平台可能具有其他平台上不存在的功能。 例如,Android平台具有用于ListView中的快速滚动的本机功能,但iOS没有。 Xamarin.Forms特定于平台的功能使您可以利用仅在特定平台上可用的功能,而无需创建自定义渲染器或效果。
Xamarin.Forms包括针对各种平台特定功能的预构建解决方案。 有关更多信息,请参见:
- Xamarin.Forms platform-specifics
- Android platform-specifics
- iOS platform-specifics
- Windows platform-specifics
3.4 Material Visual
Xamarin.Forms Material Visual用于将Material Design规则应用于Xamarin.Forms应用程序。 Xamarin.Forms Material Visual利用Visual属性将自定义渲染器有选择地应用于UI,从而使应用程序在iOS和Android上具有一致的外观。