.NET 多平台应用程序 UI (.NET MAUI) 能够应用单个代码库为 Windows、macOS、iOS 和 Android 构建本机客户端应用程序,并为 Blazor 混合计划提供本机容器和控件。.NET MAUI 是 Visual Studio 中的一个框架,它形象了曾经可用的本机 UI 框架——WinUI for Windows、Mac Catalyst for macOS/iPadOS、iOS 和 Android。只管它不是另一个本机 UI 框架,但仍有大量工作须要在这些设施上提供最佳开发和运行时体验。
.NET 团队始终在与社区一起致力的开发,咱们致力于它的公布。可怜的是,.NET MAUI 将无奈在 11 月与 .NET 6 GA 一起公布。咱们心愿在第一天就为咱们的用户提供最佳体验、性能和品质,为此,咱们须要推延时间表。咱们当初的指标是在 2022 年第二季度初推出 .NET MAUI。
与此同时,咱们将持续加强 Xamarin 并举荐它用于构建生产挪动应用程序,并持续公布 .NET MAUI 的月度预览。咱们打算为 .NET MAUI 提供的所有性能将在 11 月 .NET 6 公布时提供,但咱们将持续努力提高品质并解决客户反馈。咱们激励您尝试预览。.NET 降级助手还将反对将 Xamarin 我的项目降级到 .NET MAUI。
.NET 6 RC1 是最终版本之前的版本,这意味着您能够在生产中应用它并取得反对。这不包含 .NET MAUI 包。.NET MAUI 包的下一个版本,当 .NET 6 RC2 公布时,将在版本中显示“预览”。
感谢您在此旅程中与咱们分享的所有反馈、奉献和兴奋。请持续公布,咱们期待明年年初公布高质量的版本。当初让咱们看看这个版本中的一些新性能。
.NET MAUI 预览版 8 亮点
.NET MAUI 的 9 月预览版实现了一些重要的 Visual Studio 集成,即在 Visual Studio 2022 安装程序中将 .NET MAUI 作为工作负载装置,并将 Windows 平台折叠到咱们的繁多、多指标我的项目中。借助 Visual Studio 2022 预览版 4,您当初能够通过 C# 和 XAML 应用更宽泛的热重载反对,以及新的 XAML 实时预览面板,以打造高效、专一的开发环境。在 .NET MAUI SDK 自身中,预览 8 包含对应用程序启动模式的更新、扩大处理程序的能力,以及在咱们靠近性能完整性时的其余各种新控件性能。
Visual Studio 2022 生产力
装置 Visual Studio 2022 时,您当初能够在应用 .NET 工作负载的挪动开发中查看 .NET MAUI(预览版)。这将引入 .NET 6 以及可选的工作负载依赖项:Android、iOS 和 Mac Catalyst。以桌面为指标时,您还须要抉择应用 .NET、UWP 的桌面开发和应用 C++ 工作负载的桌面开发。
装置后,.NET MAUI 模板和 Visual Studio 的性能都可用。实时预览将在 Visual Studio 窗口中的面板中镜像您正在运行的应用程序,您能够停靠在最不便的任何地位。该面板反对放大和放大以关注 UI 的每个细节,在程度和垂直轴上对齐元素的指南,并且在某些平台上,您能够悬停并抉择 UI 元素以获取大小和间隔信息。
XAML 热重载当初实用于 Android、iOS(在 Windows 上通过热重启或近程构建主机)和 Windows。.NET Hot Restart 也在 Android、iOS 和 Windows 上与 XAML Hot Reload 协同工作。
创立新我的项目时,您当初会在 Platforms 文件夹中看到 Windows 平台与 Android、iOS 和 Mac Catalyst 并列。要应用 Windows,首先须要装置实用于 Visual Studio 2022 的 Windows App SDK 扩大,而后勾销正文 csproj 文件顶部的 TargetFramework 节点。在将来的版本中,默认状况下,这将通过 .NET MAUI 预装置的扩大程序提供。
.NET MAUI SDK 更新
您迁徙现有应用程序最显著的更新是咱们如何实现 .NET Host Builder 模式。咱们当初与 ASP.NET 和 Blazor 如何应用创立并返回 MauiApp 的 MauiProgram 类保持一致。当初每个平台都调用 MauiProgram.CreateMauiApp。将现有我的项目与新模板或 pull request 进行比拟,以查看对 Android/MainApplication.cs、iOS/AppDelegate.cs 和 macCatalyst/AppDelegate.cs 的这些更改。
示例 MauiProgram:
public static class MauiProgram
{public static MauiApp CreateMauiApp()
{var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();}
}
安卓示例 MainApplication:
public class MainApplication : MauiApplication
{public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{ }
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}
安卓更新
Android 12 (API 31) 当初是为 Android 构建的 .NET 6 应用程序的默认版本。要应用 Android 12,您须要手动装置 JDK 11。一旦咱们更新 Visual Studio 中的 Android 工具以应用 JDK 11,咱们将默认将此依赖项与 .NET MAUI 捆绑在一起。在此之前,JDK 11 可能会对 Android 设计器、SDK 管理器和设施管理器产生不利影响。
Android 我的项目当初默认应用 MaterialTheme。确保 Platforms/Android/MainActivity.cs 指定 @style/Maui.SplashTheme 否则您可能会在 Android 上遇到运行时谬误。例如,查看更新的 .NET MAUI 模板。
其余变动
其余值得注意的变动包含:
- MinHeightRequest、MaxHeightRequest、MinWidthRequest、MaxWidthRequest 已删除“Request”后缀,布局零碎当初将它们视为实在值
- 将行为附加到任何控件映射器的简化办法 – #1859
- Shell 主题款式的各种改良
- 为 Android #2027 和 iOS #2029 增加了 RefreshView
- 增加相对布局 #2136
- 增加了从右到左 (RTL) FlowDirection #948
- 增加 Button.Icon ImageSource #2079
明天开始
筹备好了吗?关上 Visual Studio 2022 并创立一个新我的项目。搜寻并抉择 .NET MAUI。
无关 .NET MAUI 入门的更多信息,请参阅咱们的文档。
欢送反馈
Visual Studio 2022 正在疾速启用 .NET MAUI 的新性能。当您在调试、部署和编辑器相干体验方面遇到任何问题时,请应用“帮忙”>“发送反馈”菜单报告您的体验。
请通过 dotnet/maui 在 GitHub 上与咱们互动,让咱们理解您应用 .NET MAUI 创立新应用程序的体验。
要查看将来版本中的内容,请拜访咱们的产品路线图,要理解性能完整性的状态,请拜访咱们的状态 wiki。
欢送关注微软中国 MSDN 订阅号,获取更多最新公布!