.NET 发展历程

简介: .NET 是开源、跨平台、社区活跃技术开发平台,中国信通院在 2022 | OSCAR 开源产业大会大会上发布的全球开源生态研究报告里首次提出开源社区成熟度度量模型,.NET 法律合规表现出色,组件许可证兼容性较高,法律风险较小。其生态基于 MIT 和 Apache 2.0 协议基础上构建,对商业友好。

image.png

.NET20022 月份发布第一个版本 1.0,至今已有 20 年了,大概经历了以下几个阶段:

  • 早期 .NET,Only Windows(全称 .NET Framework1.0-4.8.1,时间 2002.02-2019.04);
  • 过渡期 .NET,开源、跨平台.NET Core1.0-3.1.x,时间 2016.06.27-2022.12.13);
  • 当下 .NET(.NET5/6/7+) 统一化、云原生、高性能,其中 .NET5 终止于 2022510 日,.NET6 LTS 版本支持到 2024.11.12.NET7 RC1 预计 202211 月发布正式版。

早期 .NET(.NET Framework 1.0-4.8.1,时间 2002.02-2022.08)

2002 年 2 月 23 日最早的 .NET Framework1.0 发布,终止于 2022 年 8 月 9 日发布的 .NET Framework 4.8.1 版本。
  • 2019 年 4 月 18 日发布 .NET Framework4.8.0
  • 2022 年 8 月 9 日发布 .NET Framework4.8.1

image.png

.NET Framework 是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET 是微软为下一个十年对服务器和桌面软件工程迈出的第一步。.NET 包含许多有助于 InternetIntranet 应用 迅捷开发的技术。

.NET Framework 是微软公司继 Windows DNA 之后的新开发平台。.NET Framework 是以一种采用系统虚拟机运行的编程平台,以公共语言运行时(Common Language Runtime)为基础,支持多种语言(C#、VB.NET、C++、J# 等)的开发。

.NET Framework 也为编程界面(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行 Windows 应用软件和网络应用软件以及元件和服务(web service)的开发。.NET Framework 提供了一个新的反射性的且面向对象程序设计编程界面。.NET Framework 设计得足够通用化从而使许多不同高级语言都得以被汇集。

  • .NET Framework(only windows) 架构图

image.png

  • .NET Framework 与 C# 概述

image.png

.NET 基金会成立(2014.03.31)

.NET Foundation 官方地址: https://dotnetfoundation.org/

image.png

.NET 基金会(.NET Foundation)是一个独立的组织,支持 .NET 社区和开源,旨在拓宽和加强 .NET 生态系统和社区。2014 年 3 月 31 日微软组织成立 .NET 基金会,微软在成为主要的开源参与者的道路上又前进了一步。2014 年 .NET 基金会的创始成员中有六位创始人,均非微软公司员工。2019 年 .NET 基金会改选,其中只有一位是微软员工,其他都是微软 MVP 或 .NET 活跃人士。

image.png

.NET 基金会的成立,微软在 .NET 项目中的角色从原来的 “管理(独裁)者” 转变为成员 “参与者”,促进社区更佳开放、自由的生态发展。

过渡期 .NET(.NET Core 1.0-3.1.x,时间 2016.06.27-2022.12.13)

2016 年 6 月 27 日 .NET Core 1.0 项目正式发布,彻底改变了 Windows Only 的场景,拥抱开源、跨平台。

.NET Core 是适用于 WindowsLinuxmacOS 的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSDAlpine 平台,也是微软在一开始发展时就开源的软件平台 [1] ,它经常也会拿来和现有的 开源 .NET 平台 Mono 比较。

由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 打包式安装的做法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。

.NET Core 项目的主要目标有 [2] :

  • 支持或可以移转 (port) 到更多的操作系统平台与芯片架构 (也就是未来项目会跨出 x86 平台)。
  • 具有引人注目的性能与高可靠度。
  • 开发人员能快速与直接的获取 .NET Core 开发环境。
  • 在直觉与具生产力的情况下建造应用程序,使用文件,示例与 NuGet 组件。

image.png

当下 .NET(.NET5/6/7+)

.NET 5(非 LTS 版,时间 2020.11.10-2022.05.08)

2020 年 11 月 10 日正式发布 .NET 5 ,终止于 2022年5月10日。该版本当前最新补丁版本为 5.0.12,发布时间为 2021 年 11 月 8 日。

image.png

.NET 5 = .NET Core vNextNET 5.NET Core 的下一版本。

该项目旨在通过以下几个关键方式改进 .NET

  • 构建一个可在任何地方(Any where)使用的 .NET 运行时和框架,并具有统一的运行时行为和开发人员体验。
  • 通过充分利用 .NET Core.NET FrameworkXamarinMono 来扩展 .NET 的功能。
  • 从单个代码库构建该产品,开发人员( Microsoft 和 社区)可以一起工作并一起扩展,从而改进所有方案。

这个新项目和方向是 .NET 的一个重要转折。使用 .NET 5,无论您正在构建哪种类型的应用程序,您的代码和项目文件都将是相同的。每个应用都可以访问相同的运行时、API 和语言功能。也包括几乎每天都在进行的 corefx 的性能改进。

.NET 6(LTS,Long Term Support,时间 2022.09.13-2024.11.12)

2021 年 11 月 8 日,微软正式发布了 .NET 6 及其一系列内容,推出了 C# 10、F# 6 和 PowerShell 7.2,.NET 6 还原生支持了苹果 M1 芯片,将得到三年支持。

image.png

.NET 6 是从 .NET 5 开始的 .NET 统一计划的最后部分,在 .NET 历程上具有 里程碑意义

这种 统一 体现在 ==跨平台、桌面、IoT 和云应用的统一的SDK、基本库和运行时(Runtime)==。 除了这种统一,.NET6 生态系统还提供:

  • 简化的开发:入门很简单。 C# 10 中的新语言功能减少了需要编写的代码量。 通过 Web 堆栈最小 API(minAPI) 方面的投资,可以轻松快速编写更小、速度更快的 微服务(Microservice)
  • 更好的性能.NET 6 是最快的完整堆栈 Web 框架,如果是在云中运行,则它可以降低计算成本。
  • 终极工作效率.NET 6Visual Studio 2022 提供热重载(Hot Reload)、新的 git 工具、智能代码编辑、可靠的诊断和测试工具,以及更好的团队协作。
  • 重要点:.NET 6 将支持三年(2021 年 11 月 8 日到 2024 年 11 月 12 日) ,作为 LTS (长期) 支持。

2021 年 11 月 8 日的发布是 .NET 团队和社区一年多努力的结果。其中 C# 10F# 6 提供语言改进,使代码更简单、更好。性能有了巨大的提升。.NET 6 首次发布了对本地化 Apple Silicon(Arm64) 的支持,并且还改进了 Windows Arm64 的相关性能。.NET 6 构建了一个新的动态配置文件导向优化 (PGO) 系统,该系统可提供仅在运行时才可能实现的深度优化。云诊断已改进与 dotnet monitorOpen TelemetryWebAssembly 支持更有能力、更具有性能。新的 API 已经添加支持 HTTP/3,处理 JSON 数据,并直接操纵内存。

开发人员已经开始将应用程序升级到 .NET 6,已在生产方面取得了很大的提升。

您可以下载 ==.NET 6 用于 LinuxmacOSWindows==。

.NET 7(非 LTS 版, 从正式版发布之日起仅能获得18 个月的免费支持和补丁)

2022 年 2 月17日发布 NET 7.0.0-preview.1,目前最新版是 NET 7.0.0-rc1

.NET 7 RC 1 已通过 Visual Studio 17.4 Preview 2 测试,微软将在 2022 年 11 月 8 日至 10 日的 .NET Conf 2022 上发布 .NET 7 正式版。

image.png

.NET 7 RC 1 包含多项改进:

  • .NET MAUI:.NET 多平台应用程序 UI (MAUI) 将 AndroidiOSmacOSWindows API 统一到一个 API 中,开发者可以编写一个在多平台上本机运行的应用。作为 .NET 7 的一部分,.NET MAUI 提供了一个项目来处理跨设备及其平台的多目标。
  • 云原生(Cloud Native):云原生是一组最佳实践,用于在云中构建应用,以利用弹性、可扩展性、效率和速度。
  • ARM64.NET 可帮助开发者构建在 ARM 设备上运行的应用,.NET 7 将迎来多项改进。
  • 现代化:为了使升级体验尽可能无缝,.NET 升级助手为开发者提供分步指导体验,通过分析和改进项目文件、代码文件和依赖项来现代化 .NET 应用。
  • 性能.NET 7 是目前最快的 .NET。.NET 7 对反射、堆栈替换 (OSR)、启动时间、本机 AOT、循环优化和许多其他领域进行了超过一千项影响性能的改进。
  • 支持:.NET 7 不是长期支持 (LTS) 版本,因此在发布之日起仅能获得 18 个月的免费支持和补丁。

.NET 未来发布计划

image.png

发布类型

.NET 未来版本将会一直提供 LTS 版 和 非 LTS 版:

  • LTS 版本每个版本均可获得三年的补丁更新和免费支持。
  • 非 LTS 版可以获得至少 18 个月的补丁更新和免费支持。

image.png

  • 长期支持(LTS):

LTS 版本在初始发布日期后的三年内受支持。

  • 标准期限支持(STS):

STS 版本在后续 STS 或 LTS 版本发布后的六个月内受支持。每 12 个月发布一次,因此 STS 的支持期为 18 个月。

说明: STS 版本以前称为 Current 版本。

发布计划

主要 .NET 版本每年 11 月发布一次。每个 .NET 版本在发布开始时都定义为标准期限支持(STS)或长期支持(LTS)。

  • STS 版本以偶数年为单位发布,LTS 版本以奇数年为单位发布。
  • 所有版本的质量完全相同,唯一的区别是支持长度。
  • LTS 版本可获得 3 年的免费支持和修补程序。
  • STS 版本可获得 18 个月的免费支持和修补程序。

修补程序更新会于每月第二个星期二发布,也称为“修补程序星期二”。在版本的支持生命周期内,系统必须保持已发布补丁更新的最新状态。版本修补程序是兼容的,这消除了对应用程序产生不利影响的风险。

image.png

.NET 20th(happy birthday)

今年 2022 年是 .NET 诞生 20 周年,祝 .NET 生日快,.NET 生态开放共赢,与时俱进,蓬勃发展!

image.png

  • 二十岁的女孩子是美丽的流星划过天际,还是燃烧着的陨石坠落人间,二十岁的年纪,美好的人生才刚刚开始;
  • 二十岁,我虽还是万丈红尘中的一颗小小尘埃,可仍会盼望有一天能开出一抹红,在阳光下灿烂;
  • 二十岁的女孩是一朵盛开最美丽的花,是一杯清茶其中的清秀一定要留给懂得品尝的人;

20 岁正值年华,20 岁有很多的美好和憧憬,你是否也期待?

image.png

关于 .NET 更多信息,请查看:

目录
相关文章
|
开发框架 前端开发 .NET
盘点16个.Net开源项目
盘点16个.Net开源项目
836 0
|
程序员 C# 开发工具
推荐100个.Net开源项目
推荐100个.Net开源项目
119 0
|
前端开发 Go
.Net Mirco Framework 2007技术大会
最近公司很多项目都有大量嵌入式设备使用,由于WinCE系统相对较大,对硬件平台要求过高,所以对.Net MF一直比较关注。今天总算大开眼界了
1127 0
|
SQL 算法 .NET
一起谈.NET技术,.NET十年(上)
  相关文章:.NET十年(下)   引言   语言是程序开发者行走江湖的手上利器,各大门派的高手在论坛、博客为了自家门派争吵不已早是技术世界中的亮丽风景,虽多少为刚刚踏入江湖的新手提供了思考的素材,但也同时迷惑了初出茅庐的前行方向。
1290 0
|
Shell
一起谈.NET技术,疯狂的想法——基于.NET的软件超市平台构想与5年实现之路
  在2005年的时候,我曾经基于.NET 2003开发了一个小的组件,这个组件的目的是为了解决模块化开发和模块复用的问题。我将该组件命名为Common Form Framework,它的目的是允许每一个开发人员独立的开发自己的模块且可以直接专注于业务模块,然后通过配置可以快速将所有开发人员开发的业务逻辑窗体集成到这个组件中。
1456 0
|
安全 前端开发 .NET
一起谈.NET技术,.NET 4九大新特性
  英文原文:What's New in the .NET Framework 4   本文将向您介绍.NET Framework 4中的主要功能和改进特征。请注意,本文中并没有提供有关这些新功能的综合信息,并随时可能更改。
1539 0
|
网络协议
回顾.NET R“.NET研究”emoting分布式开发
  记得在下第一次接触.NET Remoting分布式开发是在2003年,那时候是Framework1.0初次亮相之时,Remoting分布式开发是Framework1.0其中一个亮点。经过多年的发展,在2005年,WCF随着Framework2.0首先亮相。
1227 0
|
Web App开发 前端开发 .NET
艾伟:[你必须知道的.NET]第三十一回,深入.NET 4.0之,从“新”展望
anytao.net | 《你必须知道的.NET》网站 | Anytao技术博客  发布日期:2009.05.22 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处。
1162 0
|
C语言 C++ iOS开发
O“.NET研究”bjective-C入门
  Objective-C是一种简单的计算机语言,设计为可以支持真正的面向对象编程。Objective-C通过提供类定义,方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的ANSI C语言。
884 0
|
XML C# 数据格式
一起谈.NET技术,C#编程笔记(一)
前段时间,帮朋友用C#做了一个小玩意儿,在开发过程中,发现很多用的着的东西,在网上都没有很好的解决方案,前前后后折腾了近一个月,总算是基本上完成了,在此整理下,权作以后再用到时复习之用。       这个东西有点像星座性格测试那种的,只不过是要C/S的,安装到客户端上,所以做起来限制比较多。
678 0

热门文章

最新文章