.NET MAUI预览版11发布——亮点展示

331 阅读4分钟

今天我们很高兴地分享.NET多平台应用程序用户界面(MAUI)预览版11。在这个版本中,我们增加了第一批Fluent UI控件造型、多窗口实现、控件功能,以及另一套iOS类型对齐。这些正在进行的.NET MAUI预览版在最新的.NET 6预览版上运行,可与今天在Windows上发货的新的Visual Studio 2022 17.1 Preview 2一起使用。我们有望在2022年第一季度发布候选版本,并在2022年第二季度最终发布。

在.NET Conf 2021上展示的.NET Podcast应用程序的源代码已经发布,其中包括Blazor、.NET MAUI和.NET MAUI Blazor混合应用程序。

让我们深入了解一下预览版11中的亮点。

使用流畅设计系统的Windows控件造型

.NET MAUI默认提供了特定平台的设计和体验,因此您的应用程序可以从单一的代码库中获得适合每个平台的外观和感觉,而无需任何额外的努力。Windows 11通过更新的Fluent设计系统引入了新的UI风格,而.NET MAUI则将所有控件的风格改为使用最新的。随后的预览版将在此基础上,增加更多的控件和对主题的支持。在预览版11中,你将看到以下的初步更新:

side by side of button and entry styling

多窗口应用程序

与Xamarin.Forms相比,.NET MAUI的主要更新之一是引入了多窗口。Application.Current.Windows 持有对你所创建的所有窗口的引用。要打开一个新的窗口,就像这样简单:

var secondWindow = new Window {
    Page = new MySecondPage {
        // ...
    }
};

Application.Current.OpenWindow(secondWindow);

multiple windows for Weather app on macOS

今天要尝试这个针对macOS和iPadOS的方法,在每个各自的平台文件夹中添加一个SceneDelegate,并更新你的info.plist以启用场景。

devblogs.microsoft.com/dotnet/wp-c…

**你知道吗?**这张图片是一个在Windows上运行的iPad模拟器,使用的是当你连接到Mac构建主机时可用的Remoted iOS模拟器。另外,你可以在Windows上使用热重启,直接从Visual Studio 2022在运行iPadOS(或iOS)的设备上调试任何.NET MAUI应用。

Windows App SDK的多窗口实现将处于实验性发布阶段,直到v1.1版发布(见路线图)。

模板和C#10

简化是.NET MAUI的主要目标之一,使每个人都能更容易地构建优秀的应用程序。从每个平台的多个项目到一个项目,只是我们如何做到这一点的一个例子。在这个版本中,我们使用C# 10模式更新了模板,如隐式使用和文件范围内的命名空间,并为ContentPageContentView 添加项目模板。现在,当你的项目选择使用ImplicitUsings时,你会看到一个更干净的项目文件,就像我们模板的MauiProgram.cs

namespace Preview11;

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();
    }
}

那么,所有的using语句都去哪儿了?我们使用隐式全局用法动态地收集它们,所以你不需要担心这个问题。

iOS、macOS和tvOS类型对齐

作为用.NET 6统一Xamarin SDK的一部分,我们一直在努力更新我们的苹果相关SDK,以便在.NET 6中使用本地的nintnuint 类型,而不是System.nintSystem.nuint 。这影响了使用.NET 6为iOS、macOS和tvOS构建的现有库。要采用这一变化,你必须针对.NET 6重新编译你的代码,如果你明确使用上述类型,你应该更新你的.NET 6代码以使用C#类型。

请阅读GitHub上关于这一变化的问题以了解更多细节。

新的.NET MAUI文档

我们为.NET MAUI发布了一批新的文档,包括Accessibility、BlazorWebView、Border、GraphicsView、Maui.Graphics、Shadows、Splash Screen、多目标以及如何调用平台代码的新指南。Xamarin.Forms文档正在被移植和更新到.NET MAUI中,从现在开始我们将定期发布。当你找不到你需要的.NET MAUI文档时,请查看是否有Xamarin.Forms文档,因为大多数概念也适用于.NET MAUI。

今天就开始吧

在安装Visual Studio 2022预览版之前,我们强烈建议从一个干净的白板开始,卸载所有的.NET 6预览版和Visual Studio 2022预览版。

现在,安装 Visual Studio 2022预览版(17.1 Preview 2),并确认在 "使用.NET的移动开发工作量 "下勾选.NET MAUI(预览版)。如果你已经安装了17.1,那么你可以直接从Visual Studio安装程序中执行更新。

准备好了吗?打开Visual Studio 2022并创建一个新项目。搜索并选择.NET MAUI。

预览11的发布说明在GitHub上,我们在维基的迁移指南中记录了最主要的变化。有关开始使用.NET MAUI的其他信息,请参考我们的文档

欢迎反馈

请让我们了解您使用.NET MAUI创建新应用程序的经验,请在GitHub上与我们联系:dotnet/maui

要了解未来版本的内容,请访问我们的产品路线图,要了解功能的完成情况,请访问我们的状态维基