探索 .NET MAUI 跨平台功能和兼容性
构建跨平台应用程序是现代开发人员的一项基本技能,因此了解核心的底层项目结构至关重要。 本文受 Tim Corey 关于".NET MAUI 初试 - 它是什么,我们如何使用它,它准备好了吗"的视频启发,深入探讨了使用 .NET MAUI Framework 构建跨平台应用程序的复杂性。
.NET Framework 支持专门为 Windows 构建和运行 .NET 应用程序,为桌面、网络和服务器应用程序提供了一个强大的环境。 相比之下,.NET MAUI 将这一功能扩展到了使用 .NET 实现的跨平台开发,使您能够使用统一的代码库创建可在 Windows、Android 和 iOS 上运行的应用程序。
按照 Tim 的见解,我们将探索如何设置、配置和优化这个软件开发框架,利用 .NET MAUI 的全部潜力来构建高效且可维护的移动和桌面应用程序。
.NET MAUI 简介
.NET MAUI 是 .NET 生态系统中最先进的跨平台框架,使开发人员能够使用托管代码为 Android、iOS、macOS 和 Windows 创建应用程序。 它利用全面的 .NET Framework 类库和通用语言运行时 (CLR),可在不同的操作系统上实现高效性能。
.NET MAUI 的模块化优化架构支持各种编程语言,包括 C# 和 Visual Basic。 它与 Visual Studio 无缝集成,在 .NET 基金会和活跃的 .NET 开发人员社区的支持下,确保高效的 .NET 开发。
该框架体现了 .NET 开发的未来,为网络、桌面和移动应用程序提供了跨平台兼容性。 .NET MAUI 能够将 .NET 代码编译成机器代码,并支持 WPF 和 Windows Forms 等应用程序模型框架,是现代 .NET 应用程序开发人员的多功能强大工具。
了解 .NET MAUI 及其组件
Tim 还概述了 .NET MAUI,解释说它代表多应用用户界面(Multi-Application User Interface),使应用程序能够在各种平台上运行,包括 Android、iOS、macOS、Windows 和 Tizen,所有程序都在一种编程语言下编写。 但目前不支持 Linux。 他详细阐述了 .NET MAUI 对 Xamarin 的继承作用,以及它如何将不同的 .NET Core 和 .NET Framework 版本整合到 .NET 6 下。
在 Visual Studio 中设置 .NET MAUI.
Tim 演示了使用 Visual Studio 预览版设置 .NET MAUI 项目,因为在制作视频时 .NET MAUI 尚未发布。 他强调了预览版的细微差别,并提到了候选发布位的稳定性。
创建一个新的 .NET MAUI 项目
首先,Tim Corey 演示了如何建立一个新的 .NET MAUI 项目。 以下是他在视频中概述的步骤:
1.打开 Visual Studio: 首先打开 Visual Studio 并选择创建新项目选项。
2.选择 MAUI 模板: 从项目模板中选择 ".NET MAUI App"、".NET MAUI Blazor App "或".NET MAUI 类库",然后单击 "下一步"。Tim 使用 .NET MAUI App。

3.配置项目设置:输入项目名称、选择位置和解决方案名称。

4.创建项目: 点击 "创建",生成带有默认配置和必要代码的项目。
此设置为探索跨平台开发奠定了基础,Visual Studio 生成了一个基本结构,其中包括 MauiProgram.cs 等基本组件、特定于平台的文件夹和共享资源。
检查项目结构和 .NET MAUI 代码
Tim 探讨了项目结构,指出了与 WPF 和 WinUI 项目的相似之处。
XAML 熟悉性
Tim 强调指出,.NET MAUI 使用 XAML 进行设计,类似于 WPF 和 WinUI 项目。
项目结构
Tim 解释了 MauiProgram.cs 的结构,并指出它包括使用静态类 MyProgram 和入口点 CreateMauiApp。 这与其他 .NET 项目类似,需要对字体、依赖注入和日志进行配置。
目标框架
该项目针对多个框架:Android、iOS、macOS (Catalyst) 和 Windows 的 .NET 6。 它支持 Windows 10(19041 及以上版本)和 Windows 11。
条件构建和平台
Tim 解释了如何在项目文件中使用条件语句来处理多个框架,并用分号隔开。 这样就可以针对特定的平台并管理特定平台的依赖性。
特定平台代码
每个平台(Android、iOS、macOS、Tizen、Windows)的文件夹管理特定平台的代码。 开发人员可以通过从项目文件中删除相应的目标和文件夹来排除平台。
构建过程和抽象
.NET MAUI 抽象了许多特定平台的工作,编译代码以使用每个平台的 API。这确保了每个平台的原生外观和感觉。
配置和资产
Tim 介绍了 iOS 的配置文件,例如 AndroidManifest.xml 和 Info.plist,这些文件处理特定于平台的设置。 可使用图形用户界面工具更方便地编辑这些文件,尤其是在 iOS 上。
探索特定平台的功能
Tim 强调了特定平台功能的重要性以及 .NET MAUI 如何处理这些功能。 他讨论了 Platforms 文件夹,其中包含每个支持平台的子文件夹,以包含特定平台的代码。
共享项目文件
然后,Tim 探讨了共享项目结构,解释了共享代码如何一次编写并在多个平台上运行。 他通过检查 MainPage.xaml 和 MainPage.xaml.cs 文件来说明这一点,展示了如何使用 XAML 进行用户界面开发,以及如何使用 C# 进行代码隐藏开发。
在多个平台上运行应用程序
在多个平台上测试 .NET MAUI 应用程序对于评估性能和外观至关重要。 Tim 强调要在 Windows 机器、安卓模拟器和使用苹果开发者账户的 iOS 设备上进行测试。
设置开发环境
Tim 简要说明了不同平台需要不同的设置。 对于安卓系统,请安装安卓模拟器。 对于 iOS 系统,必须拥有 Apple 开发者账户,每年费用约为 100 美元。
启用 Windows 的开发人员模式
在 Windows 上激活开发者模式对于测试 .NET MAUI 应用程序至关重要,它允许在不使用 Microsoft Store 的情况下侧载应用程序。

在 Windows 上进行测试
Tim 演示在 Windows 机器上测试 .NET MAUI 应用程序,利用热重载功能对应用程序代码进行更改并实时查看更新。

在安卓模拟器上进行测试
Tim 使用运行 Android 12 的 Galaxy Nexus 模拟器进行测试,解释了启动模拟器、安装和启动应用程序的过程。

Windows 和 Android 版本比较
Tim 比较了两个平台上的应用程序,注意到尽管外观不同,但功能一致。

.NET MAUI 和 Xamarin 的未来
.NET MAUI 由 Microsoft 提供全面支持,预计将得到持续改进。 作为其后续版本,Xamarin 项目可以升级到 .NET MAUI,确保开发人员顺利过渡。
结论
Tim Corey 全面介绍了 .NET MAUI、其设置和功能。 他的视频是渴望探索该框架的开发人员的宝贵资源。 要了解更深入的内容和实用的编码示例,请访问他的 YouTube 频道IIAmTimCorey,并查看iamtimcorey.com上提供的更多资源。



