您当前的位置: 首页 >  .net

寒冰屋

暂无认证

  • 1浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

在.NET 6中可以期待什么

寒冰屋 发布时间:2022-03-15 21:14:25 ,浏览量:1

目录

.NET多平台应用程序UI(MAUI)

Arm64上的WPF支持

Blazor桌面

性能改进

更好的容器化支持

结论

微软于2016年6月27日发布.NET Core 1时使用.NET框架开源 。Miguel de Icaza将.NET Core描述为“基于类库简化版本的.NET重新设计版本。 " 微软的.NET项目经理Immo Landwerth 解释说,.NET Core将成为“未来所有.NET平台的基础”,因为它具有跨平台支持。

.NET Core的下一个主要版本是.NET 5.0。这遵循.NET Core 3.1。Microsoft将此版本命名为.NET 5.0而不是.NET Core 4.0,原因有两个。首先,这是为了避免与.NET Framework 4.x混淆。其次,这是为了强调这是.NET的直接实现。因此,名称中去掉了“Core”。

.NET 5.0版本比.NET Core以及.NET Framework具有更多的应用程序和平台支持。与.NET Core 3.1相比,它也有很大的改进。

许多人都谈到.NET 5是微软寻求将.NET重建为一个跨平台的开源项目的最后一步。然而,.NET 5也是微软新发布模式的第一步。在不久的将来,Microsoft承诺每年都会发布一个新版本的.NET,每年11月发布。

由于.NET 6已经处于预览阶段,我们可以看到.NET 5上令人印象深刻的功能和改进。它针对的是.NET 5中不存在的功能,例如下一代Xamarin。这降低了桌面和原生移动开发之间的障碍。这意味着在许多不同的Windows UI工具包之间进行更好的集成。.NET 6中还有许多其他可观且规模较小的增强功能。微软已在其官方.NET中逐点列出。NET产品路线图。

在Microsoft的.NET主题上,有更多关于当前.NET 6开发遇到的计划、变化和挑战的信息 。

本文讨论了.NET 6中预期的一些出色的新功能,并探讨了一些可以很好地适应这些变化和功能的推荐插件。它还探讨了GrapeCity ComponentOne(一套用于Web、桌面和移动设备的屡获殊荣的.NET和JavaScript UI控件)将如何与.NET 6无缝集成,以减少开发时间、支持工具箱和项目模板等。

.NET多平台应用程序UI(MAUI)

Xamarin.Forms是一个开源的跨平台框架,用于使用.NET从单个共享代码库构建iOS、Android和Windows应用程序。 Mono工程师首先开发了它,微软在2016年收购了它。

它为跨平台开发提供了WinUI的替代方案。它的跨平台策略是对iOS和Android的本机控件的XAML支持的混合。这与它自己的跨平台Xamarin.Forms并驾齐驱。Xamarin.Forms是一个模型-视图-视图模型(MVVM)开发平台。它具有内置页面、移动应用程序布局和控件,允许我们使用单一、高度可扩展的API构建应用程序。它允许我们继承和自定义控件、布局、页面和单元格,以使我们的应用像素完美。

.NET 6使用.NET多平台应用程序UI。它是基于Xamarin构建的现代UI工具包。但是,作为.NET 6统一的一部分,它具有改进和新功能。它使我们能够使用单个项目和单个代码库以最小的开销构建可部署到多个设备的应用程序。

使用.NET多平台应用程序UI,开发人员可以跨各种平台和设备提供一致的应用程序体验。移动和桌面应用程序可以使用单个共享代码库来定位Android、iOS、macOS和Windows操作系统。

.NET 6的多平台移动和跨平台支持集成并扩展了Xamarin.Forms工具包。它还扩展了Xamarin.Essentials库以改进跨平台UI控件。通过MAUI,我们可以使用多种设备功能。这包括设备传感器、照片、联系人、身份验证和安全存储。

使用.NET 6构建应用程序非常简单,因为它带有示例移动项目和安装说明。它还具有C# Hot Reload和现有的XAML支持,可提供更快的开发体验。此外,我们可以从一个地方管理平台特定需求的资产。

MAUI的变化和改进集中在提高应用程序性能、用户体验、控制和提高开发速度。在MAUI应用程序中使用ComponetOne等UI插件 将加快开发过程。除了.NET MAUI已有的功能之外,它还将改善应用程序用户体验。

Arm64上的WPF支持

Windows Presentation Foundation(WPF)是一个独立于分辨率的UI框架。它使用基于矢量的渲染引擎,旨在利用现代图形硬件。它提供了一套全面的应用程序开发功能:可扩展应用程序标记语言(XAML)、数据绑定、2D和3D图形、动画、模板、文档、媒体、文本和排版。WPF是.NET的一部分,因此我们可以轻松地将它与.NET API的其他元素合并。

在.NET 6中,Arm64仍然是一大焦点,因为与.NET 5相比,它的性能有了显着提升。与.NET 5相比,.NET 6主要关注其 功能支持以使其性能无缝。它还支持开箱即用的Windows窗体和Windows演示框架(WFP),这与在.NET 5中的Arm设备上的Windows中使用x64仿真对WFP的支持形成对比。

在Mac上,Apple Silicon支持是.NET 6的关键交付物。自2020年收到Apple的Developer Transition Kits (DTK)以来,.NET开发团队一直致力于支持Apple Silicon芯片 。

.NET 6成功支持Apple Silicon(Arm64)芯片(本机和仿真)。但现在,它仅支持控制台应用程序ASP.NET Core、Mac客户端应用程序(Mac和Mac Catalyst)和.NET SDK。Apple使用x64仿真为.NET 5和更早的.NET Core版本构建了这个。

.NET 6 preview 1记录了Apple Silicon的首次启用。但是,正如微软所建议的那样,这些构建在这个阶段可以被认为是alpha质量。他们仍然有几个设计问题需要解决和重要的验证,以确保高质量的产品。

Blazor桌面

Blazor 已成为构建.NET Web应用程序的智能方式。这是因为它与 UI库(例如ComponentOne)的无缝性和易于集成,可以在服务器和客户端上的现有C#编程技能中使用。这使得应用程序开发生命周期更加高效。

Blazor对.NET的支持首先在服务器上。然后它在带有WebAssembly的浏览器中。现在,.NET 6支持编写 Blazor桌面 应用程序。Blazor桌面允许您创建混合客户端应用程序,在本机客户端应用程序中结合Web和本机UI  。它的目标是希望为我们的用户提供丰富的客户端和离线体验的Web开发人员。还可以使用ComponentOne等UI库来增强这些体验。

Blazor是一种应用程序编程模型。它具有适应性,我们可以通过多种方式执行它。桌面版Blazor的工作方式与Electron的工作方式类似。它将具有一个WebView控件,用于呈现来自嵌入式Blazor Web服务器的内容。这可以为Blazor和其他Web内容(如JavaScript、CSS等)提供服务。

Blazor桌面在其默认配置中不会使用Blazor Web程序集。这是因为没有明显的技术或用户体验理由将WebAssembly用于桌面应用程序。.NET 6的另一个改进是Blazor WebAssembly性能。

.NET 6中的Blazor桌面为构建我们的应用程序提供了很多选择。我们可以选择将Blazor和其他Web技术用于客户端应用程序体验的所有方面,除了最外层的本机应用程序容器(如标题栏)。我们还可以使用Blazor桌面在其他本机应用程序(如WPF)中实现目标功能,例如我们已经为基于Blazor的网站实现的用户配置文件页面。两者之间的所有选择都是可能的。

.NET 6团队强调,他们最初为.NET应用程序构建了Blazor桌面,但没有技术原因我们不能在使用另一个应用程序堆栈构建的桌面应用程序中使用Blazor。例如,我们可能会使用Swift。

Blazor桌面位于新的.NET多平台应用程序UI之上。它依赖于该UI堆栈来实现本机应用程序容器和具有出色性能的本机控件。

.NET 6中的Blazor具有与其他桌面解决方案相同的启动和吞吐量性能。对于我们这些热爱Web技术的人来说,它是构建桌面应用程序的绝佳选择。

性能改进

我们还可以预期.NET 6的性能改进。根据 微软的官方博客,微软正在启动一个名为快速内循环的新项目。该项目的第一部分是通过一组与性能相关的项目使构建运行得更快。第二部分是创建可以完全跳过构建阶段的新系统。

微软表示,他们设想通过XAML热重载功能实现Xamarin团队的创新,使其成为通用的.NET功能。它不仅适用于XAML,还适用于C#中间语言。

更好的容器化支持

Microsoft .NET 6开发团队澄清说,容器是该团队日常关注的焦点,既是构建基础架构的基础 ,也是产品场景。他们指出,即使是当前的.NET性能测试也使用容器。这是由于计划在.NET 6中改进容器的多个项目。其中一些计划改进包括:

  • 改进了容器扩展并更好地支持 Windows进程隔离容器,重点关注一种新形式的容器性能测试,主要针对密度和聚合机器性能
  • 使用配置文件引导优化(PGO)减小容器映像大小
  • 通过使用 准备运行的版本气泡提高了启动和吞吐量性能
  • 默认情况下使用现代向量指令提高启动和吞吐量性能
  • 启用大页面支持和准备运行的合成图像

除了第一个功能外,这些功能都依赖于crossgen2,它是 crossgen工具的替代品。它们满足两个结果:使crossgen开发更加高效,并启用一系列目前无法通过crossgen实现的功能。

容器最显着的好处之一是.NET开发人员可以构建比使用.tar.gz、.deb或.msi可交付成果更自以为是的配置。

Alpine 3.13(或更高版本)、Debian 11(“bullseye”)和 Ubuntu 20.04 将成为 .NET 6 映像的基础。在 Ubuntu 22.04 之前,.NET 将不支持较新版本的 Ubuntu(在容器中)。

结论

.NET 6版本将与平台和开发工具无缝集成,以提供更好的开发和用户体验。

在.NET 6中的WPF、Blazor和Xamarin应用程序中使用GrapeCity ComponentOne UI控件可显着缩短任何项目的开发时间。它使应用程序更加健壮、响应迅速和可扩展。这些组件目前与所有版本的.NET高效集成,并且在发布时将与.NET 6完美集成。GrapeCity团队不断致力于开发新功能以增强开发和用户体验。

在.NET和.NET应用程序中尝试用于Web应用程序的GrapeCity ComponentOne UI控件。探索GrapeCity如何增强下一个.NET应用程序。

https://www.codeproject.com/Articles/5312001/What-to-Expect-in-NET-6

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0460s