Xamarin.Forms 介绍

通过 Xamarin.Forms,可以使用面向 Android、iOS、Windows 等设备的 .NET 跨平台 UI 工具包,构建原生应用

什么是 Xamarin.Forms?

Xamarin.Forms 是开源的跨平台 UI 框架。 开发者只需维护一套共享代码库,就能产出 Android、iOS、Windows 应用。 使用 XAML 编写界面 + C# 后台代码;界面运行时会被渲染成对应平台的原生控件,不是 WebView,拥有原生控件的外观与性能。

Xamarin.Forms 的适用对象

适合目标如下的开发者:

  1. 在多平台之间共享 UI 布局
  2. 跨平台复用业务逻辑、代码、单元测试
  3. 使用 Visual Studio + C# 开发移动端跨平台应用

适合业务类、表单类、工具类 App;如果需要极致定制复杂原生UI、重度动画游戏,一般推荐直接使用 Xamarin.iOS / Xamarin.Android。

Xamarin.Forms 的工作原理

  1. 提供一套统一抽象UI API,可以用 XAML 或 C# 编写,原生支持 MVVM、数据绑定。
  2. 平台渲染器(Renderer):运行时,把 Forms 的抽象控件,翻译成 Android、iOS、UWP 的原生控件。
  3. 项目结构:
    • 共享项目/.NET Standard库:存放XAML页面、ViewModel、业务模型、服务(绝大部分代码)
    • 各平台独立项目:平台入口、平台特有配置、原生专属代码/第三方SDK
  4. 底层依托 Xamarin 技术栈,让 .NET 代码在 iOS/Android 原生环境运行。
  5. 拥有庞大 NuGet 生态,可以快速扩展各类能力。

Xamarin.Essentials(配套核心库)

Xamarin.Essentials 提供设备原生能力的跨平台统一API,封装平台差异,不用写平台专属代码就能调用设备能力:

  • 设备信息
  • 文件系统访问
  • 加速度传感器
  • 电话拨号
  • 文本转语音(TTS)
  • 屏幕锁定除此之外还有:地理位置、相机、剪贴板、网络状态、震动等常用API。

注意

  • 微软已于 2024-05-01 停止对 Xamarin 全系的官方支持,Xamarin.Forms 的继任者是 .NET MAUI,MAUI 是 Xamarin.Forms 的进化版本。
  • Xamarin.Forms 还内置 Shell 导航框架,提供路由导航、全局搜索、侧边菜单等常用App骨架能力。
  • 平台特定功能:可以使用 Platform-Specifics,在不写自定义渲染器的前提下,调用部分平台独有的原生特性。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注