.NET MAUI(.NET Multi-platform App UI)是微软推出的一个开源框架,用于使用C#和XAML构建跨平台的原生应用程序。它支持在Android、iOS、macOS和Windows上运行同一个代码库,让你用一套代码开发多个平台的应用,大幅提高开发效率。
核心特点
• 统一API:通过抽象层访问设备功能(如摄像头、GPS、文件系统),无需为每个平台单独编写代码。• XAML驱动界面:使用声明式XAML定义用户界面,并支持数据绑定、样式和模板。
• 单项目结构:从.NET 6开始,所有平台共享一个项目文件,简化管理和构建流程。
• 原生性能:编译为各平台的原生代码,应用运行高效且体验接近原生。
• 集成Visual Studio:提供设计器、调试工具和热重载,提升开发体验。
创建一个简单的跨平台应用
下面是一个快速入门示例,展示如何用.NET MAUI创建一个显示“Hello, MAUI!”并带按钮交互的应用。
1. 准备开发环境
• 安装最新版Visual Studio 2022(推荐Community及以上版本)。• 在安装时勾选“.NET Multi-platform App UI development”工作负载。
• 确保已安装对应的SDK(Android SDK、Apple开发者工具等)。
2. 创建新项目
• 打开Visual Studio,选择“创建新项目”。• 搜索并选择“.NET MAUI App”,点击下一步。
• 输入项目名称(例如MyMauiApp),选择保存路径,完成创建。
3. 修改主页面界面
打开 MainPage.xaml 文件,替换内容如下:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyMauiApp.MainPage">
<VerticalStackLayout Padding="20" Spacing="15">
<Label Text="Hello, MAUI!"
FontSize="24"
HorizontalOptions="Center" />
<Button Text="点击我"
Clicked="OnButtonClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ContentPage>
4. 添加按钮逻辑
打开 MainPage.xaml.cs 文件,在类中添加事件处理方法:
private int clickCount = 0;
private void OnButtonClicked(object sender, EventArgs e)
{
clickCount++;
Label label = this.FindByName<Label>("MessageLabel");
if (label != null)
label.Text = $"你点击了 {clickCount} 次!";
}
注意:上面代码假设你给Label加了一个
x:Name="MessageLabel"属性。如果想让计数更新生效,请修改XAML中的Label:
<Label x:Name="MessageLabel"
Text="等待点击..."
FontSize="18"
HorizontalOptions="Center" />
5. 构建并运行
• 在工具栏选择目标平台(如Android Emulator、Windows Machine、iOS Simulator)。• 点击“启动”按钮,.NET MAUI会自动编译并部署到所选设备或模拟器。
小贴士
• 使用热重载(Hot Reload)可实时查看界面更改效果,无需重新编译。• 平台特定代码可通过条件编译或依赖注入实现。
• 可集成MVVM模式,结合命令绑定和INotifyPropertyChanged提升结构清晰度。 基本上就这些。.NET MAUI降低了跨平台移动和桌面开发的门槛,特别适合已有C#基础的开发者快速上手。
