MAUI(.NET Multi-platform App UI)是微软推出的跨平台应用开发框架,全称是 .NET Multi-platform App UI。它是 Xamarin.Forms 的进化版本,允许开发者使用 C# 和 XAML 创建运行在多个平台上的原生应用,包括 Android、iOS、macOS 和 Windows。
MAUI 能做什么?
MAUI 让你用一套代码库构建: Android 和 iOS 移动应用 Windows 桌面应用(WinUI 3) macOS 应用 界面和业务逻辑可以共享,同时支持针对特定平台进行定制。如何开始开发 MAUI 应用?
要开发 MAUI 应用,你需要以下准备: 安装 Visual Studio 2022(推荐版本 17.8 或更高) 在安装时勾选“.NET MAUI 开发”工作负载 确保已安装所需的 SDK:Android SDK、JDK、Apple 工具(如需构建 iOS/macOS)创建项目步骤:
-
打开 Visual Studio,选择“创建新项目”
搜索并选择“.NET MAUI App”模板
输入项目名称和路径
选择 .NET 版本(如 .NET 8)
生成的项目会包含一个共享的主项目和各平台的启动项目
MAUI 项目结构说明
一个典型的 MAUI 项目包含: MainPage.xaml:主界面,使用 XAML 定义 UI App.xaml:应用级资源和启动配置 Platforms/ 文件夹:存放各平台特有代码和配置(如权限、图标等) Resources/:统一管理图像、样式、字体等资源你可以通过 C# 编写交互逻辑,例如按钮点击事件:
private void OnCounterClicked(object sender, EventArgs e)
{
count++;
CounterLabel.Text = $"You clicked {count} times!";
}
跨平台适配技巧
虽然 MAUI 支持多平台,但不同设备尺寸和系统特性需要处理: 使用 FlexLayout 或 Grid 实现响应式布局 通过 DeviceInfo 类判断当前平台或设备类型 在 Platforms 文件夹中编写平台专属代码(如调用相机、通知) 使用 MauiProgram.cs 配置服务和依赖注入示例:根据不同平台显示不同提示
string platform = DeviceInfo.Platform switch
{
DevicePlatform.iOS => "Running on iOS",
DevicePlatform.Android => "Running on Android",
DevicePlatform.WinUI => "Running on Windows",
_ => "Unknown platform"
};
调试与发布
开发过程中可以: 使用模拟器或真机调试 Android/iOS 应用 直接运行 WinUI 项目查看桌面效果 利用 Hot Reload 快速预览 UI 修改发布前需要:
为各平台设置签名证书(尤其是 iOS 和 Android) 优化图标、启动画面和权限配置 使用 Release 模式编译,并启用 AOT 编译提升性能(.NET 8+)基本上就这些。MAUI 降低了跨平台开发门槛,适合熟悉 C# 的开发者快速构建多端应用。
