Fork me on GitHub

在.NET 8 RC1 版本中 MAUI、ASP.NET Core 和 EF8 的新特性

从年初2 月份发布第一个预览版,经历7个预览版后,Microsoft 西雅图时间9月13日发布了 .NET 8  RC 1: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-rc1/[1], 这是该框架在 11 月初正式发布之前的两个版本中的第一个。 .NET 8 RC1 是在生产中受支持,随着开发团队修复和完善内容,该框架基本上已经准备好了新的和令人兴奋的功能,以便在 11 月 14 日开始的 .NET Conf 2023 [2]期间正式发布RTM。

image

.NET 8 的大多数新特性和功能都已开发好,开发团队主要进行润色,这并不是说RC没有引入一些新的好东西,详见下面的摘要:

.NET 8
.NET 8 RC1现在是生产可用的,这是我们的两个版本候选中的第一个。此版本包括适用于 Android 和 WASM 的新 AOT 模式、System.Text.Json 改进以及对容器的 Azure 托管标识支持。具体细节包括:

  • 适用于android和WASM的AOT模式:开发人员可以将他们的 .NET 代码直接编译为 WebAssembly 或 Android 的本机代码,从而加快启动和运行时性能,但应用尺寸更大。该团队还引入了新选项来去除未使用的中间语言 (IL) 代码,以减小应用大小。
  • System.Text.Json 改进:其中包括用于 IAsyncEnumerable 流式反序列化的新扩展方法,以及支持修剪 安全/源生成合约的 JsonContent 的新构造函数。
  • Azure 托管标识容器的支持:这有助于用户轻松地使用 Azure 容器注册表或使用 OAuth 令牌交换的其他注册表进行身份验证,而无需使用 docker 登录命令。
  • 用于跨构建的 Win32 资源支持: 在非 Windows 平台上构建时,开发人员可以将 Win32 资源(如图标、清单和版本信息)嵌入到其应用程序中。

除了 9 月 13 日的公告发布之外,还可以在发行说明 [9]和.NET 8 中的新增功能[10]文档中找到更多信息。

.NET MAUI
MAUI是Xamarin.Forms的演变,因为它除了传统的iOS和Android移动目标之外,还增加了创建桌面应用程序的功能。尽管它遇到了开发问题并且 .NET 6 发布得很晚,但.NET 开发人员对该产品非常感兴趣,并且在最近宣布 Visual Studio for Mac 退役后密切关注它。一些.NET MAUI开发人员担心.NET MAUI可能会遭受同样的命运。也许考虑到这些问题,.NET 团队特别发布了一篇“在.NET 8候选版本1:质量中宣布.NET MAUI[11]”,并进一步说,“我们在.NET 8中的.NET MAUI工作的主要主题是代码质量。随着质量的提升,RC1 附带了上线许可证,可用于生产工作。以下是 RC1 中的一些注意事项,其中包括新功能、改进和性能优化:

  • 内存泄漏:iOS 平台上影响编辑器、入口、MauiDoneAccessoryView、RefreshView、SwipeView、TimePicker、Picker 和 GraphicsView 的各种 UI 控件中解决了几个内存泄漏问题,旨在通过改进内存管理来确保更好的应用程序稳定性。
  • UI 控件增强功能:解决的 UI 控件问题会影响多个平台上的复选框、刷新视图、轻扫项、标签和按钮,有助于使应用交互更顺畅。
  • 特定于平台的修复:进行了修复以确保在不同平台(包括iOS,Android,Windows和macOS)上保持一致的用户体验,解决了边框剪切,窗口故障和图像加载问题等问题。
  • 性能优化:改善内存使用率和资源生成的努力涉及优化,以提高应用程序性能和响应能力,特别是针对改进 CollectionView 的内存使用、资源生成控制和 Android 计时器问题。

Microsoft还加强了对苹果IDE Xcode 15的支持。“你现在可以使用Xcode 15测试版作为构建应用程序和管理模拟器的安装,这将在Visual Studio的下一个版本中提供。

ASP.NET Core
在这里,Blazor 是ASP.NET Core的重心,Blazor 让 Web 开发人员使用 C# 而不是 JavaScript 的又有了八个方面不同的改进(其中一些在 Microsoft 的主要 .NET 公告中进行了讨论):

  • Blazor Web App应用模板更新
  • 从其他程序集中发现用于静态服务器呈现的组件
  • 路由改进
  • 触发页面刷新
  • 将任意属性传递到QuickGrid
  • 确定表单域是否具有关联的验证消息
  • 配置 .NET WebAssembly 运行时
  • 提前 (AOT) 编译后修剪 .NET IL

开发团队还对很多方面(服务器和中间件、身份、单页应用SPA、指标)进行了调整,具体参见 ASP.NET .NET 8 候选版本 1 中的核心更新[12]。

EF Core 8
此数据驱动框架包含在 NuGet 包中,该包拥有超过 809.70 亿次下载,EF Core是 .NET 的现代ORM。它支持 LINQ 查询、更改跟踪、更新和架构迁移。EF Core通过提供程序插件API与SQL Server,Azure SQL Database,SQLite,Azure Cosmos DB,MySQL,PostgreSQL和其他数据库配合使用。公告帖子列出了多达70个项目,并附有指向每个项目的更多信息的链接。EF Core 8 中的新增功能[13]中还提供了详细信息.


相关链接:

posted @ 2023-09-13 07:29  张善友  阅读(3440)  评论(20编辑  收藏  举报