闲话 .NET(6):.NET Core 各个版本的特性

前言

之前我们聊了一下 .NET Core 有哪些优势,.NET Core 发展非常迅速,不过短短几年,.NET Core 已经发布 .NET 8 了,基本上保持了一年一个版本的速度,每个版本都有自己的独有特性,下面我们来简单的盘点一下这些新特性有哪些。

.NET Core 1.0

.NET Core 1.0 突破了操作系统的限制,是第一个支持在 Windows、Linux 和 macOS 上运行的 .NET 版本,它采用新的一系列的命令行工具,引入了新的运行时和库,提高了开发效率、性能和可扩展性,打开了.NET 的全新时代。

.NET Core 2.0

增加了对 Razor Pages 的支持,简化了 Web 应用程序的开发。

Razor Pages 有些类似于传统的 ASP.NET Web Forms,即将前端页面和后端代码逻辑紧密集成在一个文件中。

每个 Razor Pages 文件(.cshtml)都包含了 HTML 标记和 C# 代码,使开发人员能够在同一个文件中处理页面布局、数据绑定和事件处理等操作。

Razor Pages 使用了 Razor 语法,这是一种简洁、直观的模板语言,可以轻松地将 C# 代码嵌入到 HTML 中。

Razor 语法支持处理数据显示、条件逻辑、循环结构等,也支持部分视图(Partial Views)的概述,可以将页面的某些部分作为可重用的组件进行封装。

同时,在此版本中,增加了对 .NET Standard 2.0 的支持,.NET FrameWork 中更多的 API 可以在 .NET Core 中使用。

.NET Core 2.1

引入了高性能的 Span<T> 类型,更有效地处理内存和数据。

Span<T> 是一个结构体,用于表示连续的内存区域,并提供了一组安全且高效的方法来访问和操作这些内存区域,如索引访问、切片操作、复制和填充等。

通过 Span<T>,我们可以直接操作内存,而无需进行不必要的内存分配和复制操作。这对于处理大型数据集合或高性能计算任务非常有用。

.NET Core 3.0

引入了 Windows 桌面应用支持,.NET Core 对 WinForms 和 WPF 进行了改进和优化,提高了性能和功能,通过 .NET Core 开发 Windows 桌面应用,性能比 .NET FrameWork 框架高出很多。

同时,鉴于 JSON 格式广泛的使用,此版本引入了用于 JSON 序列化和反序列化的官方库 System.Text.Json,它的性能和功能并不逊色于 Newtonsoft.Json,并且它支持可定制化,有了它,开发人员对于处理 JSON 数据,有了更好的方式。

.NET Core 3.1

进一步优化了安全、性能和内存管理等方面,提高了系统的性能表现和安全性,这是一个长期支持版本,提供长期的支持和更新。

.NET 5

.NET 5 引入了 AOT(Ahead of Time Compilation),这是一种新的编译技术,可以进行更多的优化,提高应用程序的性能表现。

它在应用程序部署时将代码编译为本机机器代码,而不是在运行时进行即时编译(JIT),避免了运行时的即时编译开销,减少了应用程序的内存占用和 CPU 使用率。

它适用于那些不需要动态生成代码的应用程序,可以提供更快的加载和执行速度。

需要注意的是 AOT 会增加应用程序的部署大小,因为编译后的本机代码比 IL(Intermediate Language)代码更大,也不支持动态生成的应用程序。

.NET 6

仅需三行代码,就可以生成一个完整功能的 Web API,.NET 6 引入了 "最小 Web API" 的功能,它简化和加速了创建基于 .NET 的 Web API 项目的过程,对于新人来说,更容易入门和理解。

.NET 6 还引入了热重载,这意味着即使程序已经在运行中,代码修改后也无需重新编译,就可以将代码更改立即应用于正在运行的应用程序上。

.NET 6 也是一个长期支持版本,提供长期的支持和更新。

.NET 7

.NET 7 引入了 .NET MAUI,这是一种新的跨平台应用程序开发框架,允许使用单一代码库构建移动、桌面和 Web 应用程序,继承了 Xamarin.Forms 的优点,进一步扩展和改进了跨平台开发体验。

此外,备受程序员期待的新特性 "原始字符串" 在这个版本终于支持了,程序员们在处理原始字符串时更加方便了,不需要再进行各种面目全非的转义了,这对于程序开发和维护有很大的帮助。

.NET 8

.NET 8 在整个堆栈中带来了数千项性能改进,性能得到了极大的提升。

.NET 8 还集成了全新的 WinUI 3,WinUI 3 是一个现代化的 Windows UI 框架,可以快速构建跨平台的 Windows 应用程序。

通过 .NET SDK 中一流的开箱即用 AI 功能以及与多种工具的无缝集成,.NET 8 可以帮助开发人员在其应用程序中创建独特的人工智能体验。

结语

本文讲述了历来每个 .NET Core 版本比较有价值的新特征,这些特性提升了开发人员的生产力和应用程序的性能、可用性以及跨平台能力。

当然,.NET Core 还有很多突出的功能,本文仅供参考。您认为 .NET Core 还有哪些比较有价值的新特性,欢迎留言讨论。

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊人生。

都看到这了,求个点赞、关注、在看三连呗,感谢支持。

相关推荐
VinciYan9 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
python·ubuntu·docker·自动化·jenkins·.net·运维开发
码农君莫笑10 小时前
使用blazor开发信息管理系统的应用场景
数据库·信息可视化·c#·.net·visual studio
可喜~可乐12 小时前
C# WPF开发
microsoft·c#·wpf
de之梦-御风13 小时前
【进阶编程】MVVM框架的每层对应那些业务
.net·个人开发·mvvm
Zhen (Evan) Wang13 小时前
利用.NET Upgrade Assitant对项目进行升级
.net
界面开发小八哥14 小时前
DevExpress WPF中文教程:Grid - 如何移动和调整列大小?(二)
ui·.net·wpf·界面控件·devexpress·ui开发
大G哥14 小时前
深入理解.NET内存回收机制
jvm·.net
666和77716 小时前
C#的单元测试
开发语言·单元测试·c#
小码编匠17 小时前
WPF 星空效果:创建逼真的宇宙背景
后端·c#·.net