.NET Core的下一个主要版本最近进入了预览阶段,.NET Core 3.0将支持使用Windows Presentation Foundation (WPF)、Windows Forms(WinForms)、Entity Framework (EF)、Blazor、 C# 8和.NET Standard 2.1构建桌面应用程序。
.NET Core的下一个主要版本最近进入了预览阶段,.NET Core 3.0将支持使用Windows Presentation Foundation (WPF)、Windows Forms(WinForms)、Entity Framework (EF)、Blazor、 C# 8和.NET Standard 2.1构建桌面应用程序。
正如InfoQ报道的那样,WPF和WinForms最近都在MIT许可协议下开源。虽然是.NET Core 3.0的一部分,但它们目前只能在Windows上使用,而且微软似乎也不打算将它们移植到其他平台上,但开源为社区将它们移植到macOS和Linux上提供了可能。
除了在.NET Core中增加了对Windows桌面应用程序的支持外,新版本还将通过引入Blazor组件来推进对.NET Core Web开发的支持。Blazor是一个开放的基于Web标准的实验性框架,它支持创建在浏览器中运行的UI组件,包括在WebAssembly .NET运行时上运行的移动组件。虽然已经可以使用.NET进行全栈开发,但Blazor还处于Alpha准备阶段,微软还在努力完善技术问题并评估社区的兴趣。
C# 8.0是.NET Core 3的另一个重要组件。它带来了许多在其加入C#路线图时InfoQ已经报道过的新语言特性,包括可空类型、默认接口方法、异步流、Ranges和递归模式以及大量的其他特性。
.NET Core 3还将支持Entity Framework的新版本EF Core 3,它将包含对LINQ实现的重大更改,以提高生成查询的正确性和效率,并检测低效查询。另外,.NET Core 3将包含Entity Framework 6.3,允许开发人员移植依赖于它的现有应用程序。
微软.NET项目管理负责人Scott Hunter写道,相对于.NET Framework框架来说,.NET Core的一个主要优点是更容易向前发展。这是.NET Core被打包到应用程序可执行文件中的结果,使得应用程序实际上独立于与操作系统绑定的框架。相反,OS自带的.NET Framework必然需要与大量依赖它的现有应用程序保持兼容,这大大减慢了它的发展速度。.NET Core已经开始推动.NET Standard的发展就是证明,该标准定义了所有.NET实现中可用的API的基线。事实上,自.NET Core 2.1以来,.NET Standard 2.1新增了大约3000个API,这些API是.NET Core开源开发的一部分,其中包括Span、ValueTask等。
Hunter写道,最后需要注意的是,.NET Core 3的另一个主要关注点是物联网,它支持在Raspberry Pi和Arduino设备上使用的GPIO、PWM、SPI和I2C API。
本文只是 .NET Core 3新特性的简要概述,该版本预计将在下半年发布。如果你有兴趣尝试一下,请从微软的网站上下载 .NET Core 3 Preview 1。
查看英文原文:First Look at .NET Core 3.0: C# 8, WPF, Windows Forms, EF Core, and More