• [翻译] .NET 官宣跨平台 UI 框架 MAUI


    MAUI

    Build 2020 大会上,微软终于正式公布 .NET 上的跨平台框架,正式版将在 .NET 6 和大家见面。

    MAUI 是日益流行的 Xamarin.Forms 的进化,Xamarin.Forms 已经有6年历史了。 多年来,UPS,Ernst&Young 和 Delta 等公司一直在利用 .NET 上的 Xamarin 来推动其业务发展。它在帮助小型企业最大化其 95% 以上代码共享的开发投资并击败竞争对手进入市场方面也非常成功。

    MAUI 将这一成功扩展到移动设备上,使其包含桌面设备,这是跨两者构建多平台应用程序的最佳方法,尤其是新设备(例如新的Surface Duo)。

    MAUI 简化了.NET开发人员的选择,提供了一个堆栈来支持所有现代工作负载:Android,iOS,macOS 和 Windows。 每个平台和 UI 控件的本机功能都可以通过一个简单的跨平台 API 触手可及,您可以在提供不妥协的用户体验的同时共享比以前更多的代码。

    单一项目开发体验

    MAUI 的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和跨平台工具。MAUI 将项目结构简化为一个针对多个平台的项目,这意味着您只需单击一下鼠标,便可以轻松地将其部署到所需的任何目标,包括台式机,仿真器,模拟器或物理设备。

    使用内置的跨平台资源,您可以将任何图像,字体或翻译文件添加到单个项目中,并且 MAUI 会自动设置本机挂钩,以便您可以进行编码。

    最后,您将始终可以访问本机底层操作系统 API,并且通过特定于新平台的集成将比以往更加轻松。

    不同平台下,您可以添加特定操作系统的源代码文件并访问本机API。

    有了 MAUI,一切都集中在一个地方,您可以保持生产力。

    它能做到:

    • 一个针对多个平台和设备的项目
    • 一个位置来管理字体和图像等资源
    • 多目标组织您特定于平台的代码

    只需要掌握一种构建客户端应用程序的方法:MAUI,那么所有平台都在您的控制范围之内。

    拥有现代 App 的开发模式

    .NET的愿景的一部分是在开发人员的个人喜好方面为开发人员提供选择,以便使用.NET可以提高工作效率。

    这表明您在哪个IDE中使用Visual Studio 2019,Visual Studio for Mac甚至是Visual Studio Code。

    MAUI将在所有这些版本中可用,并支持现有的MVVM和XAML模式以及将来的功能,例如使用C#甚至是Blazor的模型视图更新(MVU)。

    MVVM

    Model-View-ViewModel(MVVM)和 XAML 是 .NET 开发人员数十年来的主要模式和实践,它们是MAUI中的一流功能,这将继续发展,以帮助您高效地构建和维护生产应用程序。

    <StackLayout>
        <Label Text="Welcome to MAUI!" />
        <Button Text="{Binding Text}" 
                Command="{Binding ClickCommand}" />
    </StackLayout>
    
    public Command ClickCommand { get; }
    
    public string Text { get; set; } = "Click me";
    
    int count = 0;
    
    void ExecuteClickCommand ()
    {
        count++;
        Text = $"You clicked {count} times.";
    }
    

    MVU

    此外,我们使开发人员能够编写流畅的C# UI并实现日益流行的“Model-View-Update”(MVU)模式。

    MVU促进数据和状态管理的单向流程,以及通过仅应用必要的更改来快速更新UI的代码优先开发经验。

    下面是用 MAUI 编写的 MVU 风格的基本计数器示例。

    readonly State<int> count = 0;
    
    [Body]
    View body() => new StackLayout
    {
        new Label("Welcome to MAUI!"),
        new Button(
            () => $"You clicked {count} times.",
            () => count.Value ++)
        )
    };
    

    这种模式非常适合热重载,如下面所示,它具有从 C# 即时热重载的能力,新增样式,渐变和字体都不在话下。

    热重载

    需要注意的是,无论是 MVVM 模式,还是 MVU 模式,都支持热重载,运行时修改代码保留状态立即生效,大大提高生产力。

    从 Xamarin.Forms 过渡到 .NET MAUI

    Xamarin.Forms 开发人员将使用他们已经了解和喜爱的所有相同控件和 API 来开始在 .NET MAUI 中使用新项目运行。

    随着我们逐步接近 MAUI 的发布,为了帮助开发人员将现有应用平稳地过渡到 .NET MAUI,我们打算提供类似于我们今天迁移到 .NET Core 的尝试转换支持和迁移指南。

    MAUI 时间线

    我们将在今年晚些时候开始发布 .NET MAUI 预览版,并于 2021年11月开始面向 .NET 6 正式发布。MAUI 将以与 Xamarin.Forms 相同的6周节奏进行发布。

    我们已经在GitHub上发布了MAUI路线图,并邀请您今天就加入我们!

    Xamarin 和 Xamarin.Forms 的未来是什么

    作为我们.NET统一的一部分,Xamarin.iOS和Xamarin.Android将作为.NET for iOS和.NET for Android成为.NET 6的一部分。

    由于这些绑定是Apple和Google发行的SDK的投影,因此此处没有任何更改,但是将更新构建工具,目标框架别名和运行时框架别名,以匹配所有其他.NET 6工作负载。

    我们致力于为.NET开发人员提供最新的移动SDK的最新信息,这是.NET MAUI的基础,并且始终如一。

    当.NET 6发行时,我们期望以其当前形式发行Xamarin SDK的最终版本,并将提供一年的服务,那时所有的现代工作都将转移到.NET 6。

    Xamarin.Forms将于今年晚些时候发布新的主要版本,并于2021年11月通过.NET 6 GA每6周继续发布次要版本和服务版本。

    Xamarin.Forms的最终版本将在交付后的一年内提供服务,并且所有现代作品都将转移到.NET MAUI。

    总结一下

    • 自绘组件
    • 原生 app 开发
    • 支持 MVVM 和 MVU
    • 支持代码热更
    • 跨平台
    • 伴随 .NET 6 正式发布
    • 今年年底出预览

    欢迎关注 MAUI

    MAUI GitHub 仓库:https://github.com/dotnet/maui

    内容翻译自:https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/

  • 相关阅读:
    eclipse下mysql编程
    mysql简单操作一
    Mysql ubuntu下的安装卸载
    c++ 上机实验题
    Android BottomSheet:以选取图片为例(2)
    Android BottomSheet:便捷易用的底部滑出面板(1)
    如何绘制caffe网络训练曲线
    10+资深软件架构师谈计算机专业——填高考志愿必读
    添物不花钱学计算机及编程(预备篇)
    Android StatusBarUtil:设置Android系统下方虚拟键键盘透明度
  • 原文地址:https://www.cnblogs.com/hez2010/p/12920729.html
Copyright © 2020-2023  润新知