zoukankan      html  css  js  c++  java
  • .NET 多平台应用 UI介绍

    您可以使用 .NET 构建任何内容。这是数百万开发人员选择 .NET 作为其职业生涯的平台,以及公司为其业务进行投资的主要原因之一。通过 .NET 5,我们开始了统一 .NET 平台的旅程,将 .NET Core 和 Mono/Xamarin 整合在一个基类库 (BCL) 和工具链 (SDK) 中。

    当我们考虑在统一的 .NET 中构建设备应用程序的外观时,我们看到许多设备跨多个平台使用,从 Android 和 iOS 到 Windows 和 macOS。为了满足这一需求,我们很高兴地宣布一个新的一流的UI框架,这样做:.NET多平台应用程序UI,亲切地称为.NET MAUI。

    让我们向您介绍 .NET MAUI 是什么、单个项目开发人员体验、现代开发模式,以及展望未来的旅程。

    MAUI overview

    什么是 .NET MAUI
    .NET MAUI 是越来越受欢迎的 Xamarin.Forms 工具包的演进,本月将满 6 岁。多年来,UPS、安永和达美等公司一直在利用Xamarin的移动专业知识,在.NET上为其业务提供动力;一些从一开始。它还非常成功,帮助小型企业最大化其开发投资共享超过 95% 的代码,并击败竞争对手推向市场。.NET MAUI 在移动设备上扩展了这一成功,以拥抱桌面,使其成为在两者(尤其是新设备(如新 Surface Duo)之间构建多平台应用程序的最佳方式。

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

    单个项目开发人员体验

    .NET MAUI 的构建考虑到了开发人员的工作效率,包括开发人员所需的项目系统和跨平台工具。.NET MAUI 将项目结构简化为单个项目,以定位多个平台。这意味着只需单击一下,您可以轻松地部署到任何目标,包括桌面、仿真器、模拟器或物理设备。使用内置的跨平台资源,您将能够将任何图像、字体或翻译文件添加到单个项目中,.NET MAUI 将自动设置本机挂钩,以便您可以进行编码。最后,您始终可以访问本机基础操作系统 API,并且使用新的特定于平台的集成将比以往更加容易。在平台下,您可以为特定操作系统添加源代码文件并访问本机 API。使用 .NET MAUI,一切都位于一个地方,您需要它来保持高效工作。

    .NET MAUI Single Project

    这提供:

    • 一个面向多个平台和设备的项目
    • 管理资源(如字体和图像)的一个位置
    • 多目标组织特定于平台的代码
      您掌握一种构建客户端应用的方法,MAUI 方式,并且所有平台都在您触手可及。今天,斯科特·汉塞尔曼和我将演示它在行动在建设,旅程一个.NET。

    现代应用模式

    一个 .NET 愿景的一部分是在个人偏好领域提供开发人员选择,因此您可以最有效地使用 .NET。在 IDE 中,无论是 Visual Studio 2019、Mac 的可视化工作室,甚至是视觉工作室代码,您都使用 IDE。.NET MAUI 将在所有这些模式下可用,并支持现有的 MVVM 和 XAML 模式,以及将来的功能,如使用 C# 的模型视图更新 (MVU),甚至 Blazor。

    MVVM

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

    <StackLayout>
        <Label Text="Welcome to .NET 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,并实现日益流行的模型视图更新 (MVU) 模式。MVU 促进数据和状态管理的单向流,以及代码优先开发体验,只需应用必要的更改,才能快速更新 UI。有关 MVU 作为模式的详细信息,请查看此Elm 编程指南和托马斯·班特的博客。

    下面是以 .NET MAUI 编写的 MVU 样式中的一个基本反示例。

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

    此模式非常适合热重新加载,因为下面您可以看到添加的样式、渐变和字体,并随 C# 的即时热重新加载。

    MAUI model-view-update

    MVVM 和 MVU 都提供相同的本机应用程序、性能和平台保真度。开发人员将能够选择最适合其偏好和用例的样式。

    从 Xamarin.Forms 转换到 .NET MAUI

    Xamarin.Forms 开发人员将使用 .NET MAUI 中的新项目进行运行,使用他们已成长为和喜爱的所有相同的控件和 API。随着我们越来越接近 .NET MAUI 的发布,为了帮助开发人员将现有应用程序顺利过渡到 .NET MAUI,我们打算提供尝试转换支持和迁移指南,类似于我们今天迁移到 .NET Core 时的支持和迁移指南。

    .NET MAUI 时间线

    我们将在今年晚些时候开始发货 .NET MAUI 预览版,并在 2021 年 11 月以 .NET 6 为目标的通用性。.NET MAUI 将在同 6 周节奏上发货 Xamarin.Forms 已打开。我们已经在 GitHub 上发布了MAUI 路线图,并邀请您立即加入我们!

    Xamarin 和 Xamarin 的下一步内容。

    作为 .NET 统一的一部分,Xamarin.iOS 和 Xamarin.Android 将成为 .NET 6 的一部分,作为 iOS 的 .NET 和用于 Android 的 .NET。由于这些绑定是从苹果和谷歌发货的 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。

  • 相关阅读:
    (引)spring学习笔记1.什么是控制反转
    Arduino 各种模块篇 步进电机 step motor 舵机 servo 直流电机 总复习
    Raspberry Pi Wireless Adaptor
    Pyramid 使用总结1
    Arduino 各种模块篇 人体红外感应模块 proximity sensor
    Pyramid 使用总结2
    Webcam Streaming Desktop Recording on Linux for ubuntu or its destros
    Arduino 各种模块篇 步进电机 step motor( 不用库,不用shield, 纯)
    Arduino 各种模块篇 motor shield 电机扩展板(舵机、直流电机、步进电机party)
    转载 stepper motors
  • 原文地址:https://www.cnblogs.com/zh7791/p/12924933.html
Copyright © 2011-2022 走看看