当前位置: 首页 > news >正文

.NET 发展历程

.net 机器人

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

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

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

2002 年 2 月 23 日最早的 .NET Framework 1.0 发布,终止于 2022 年 8 月 9 日发布的 .NET Framework 4.8.1 版本。

.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

.NET & C#

.NET 基金会成立(2014.03.31)

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

.NET 基金会成立

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

.NET Foundation

.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 组件。

.NET Core

当下 .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 日。

.NET5

.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,时间 20220.9.13-2024.11.12)

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

.NET6

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

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

  • 简化的开发:入门很简单。 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# 10 和 F# 6 提供语言改进,使代码更简单、更好。性能有了巨大的提升。.NET 6 首次发布了对本地化 Apple Silicon(Arm64) 的支持,并且还改进了 Windows Arm64 的相关性能。.NET 6 构建了一个新的动态配置文件导向优化 (PGO) 系统,该系统可提供仅在运行时才可能实现的深度优化。云诊断已改进与 dotnet monitorOpen TelemetryWebAssembly 支持更有能力、更具有性能。新的 API 已经添加支持 HTTP/3,处理 JSON 数据,并直接操纵内存。

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

您可以下载 .NET 6 用于 Linux、macOS 和 Windows

.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 正式版。

.NET7-rc1

.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 未来发布计划

在这里插入图片描述

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

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

.NET Schedule

.NET 20th(happy birthday)

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

.NET 20th,happy birthday!

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

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

发展的眼光看待

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

  • .NET | 免费,跨平台,开源 (microsoft.com),https://dotnet.microsoft.com/zh-cn/
  • .NET 基金会,https://dotnetfoundation.org/

相关文章:

  • 验证码生成工具google authenticator
  • Mysql日期格式及内置日期函数
  • spring boot 开发单体应用
  • Linux入门之配置网桥
  • 【图像分割-阈值分割】基于灰狼算法二维最大熵多阈值图像分割附matlab代码
  • 【智能优化算法-烟花算法】基于烟花算法求解单目标优化问题含Matlab源码
  • 从零玩转jQuery(基础篇)
  • 微信|QQ扫码登录网页版二维码失效问题解决方案|网站无法访问PC网页版如何解决|安卓软件历史版本下载|FV|fooview悬浮球帮助教程
  • Java项目:JSP唱片销售积分商城管理系统
  • Rust(5): 函数类型
  • 【软件测试】软件测试基础概念总结
  • 【Vue五分钟】 Vue Router的使用场景
  • sftpgo集成minio 测试
  • SPI总线协议详解
  • 【产品设计】产品外观设计的特点与优势
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Flannel解读
  • gf框架之分页模块(五) - 自定义分页
  • input的行数自动增减
  • JavaScript 基础知识 - 入门篇(一)
  • Linux链接文件
  • Solarized Scheme
  • SpiderData 2019年2月25日 DApp数据排行榜
  • SpringCloud集成分布式事务LCN (一)
  • SQLServer之创建数据库快照
  • 基于webpack 的 vue 多页架构
  • 解析带emoji和链接的聊天系统消息
  • 你真的知道 == 和 equals 的区别吗?
  • 配置 PM2 实现代码自动发布
  • 批量截取pdf文件
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 使用agvtool更改app version/build
  • 学习笔记:对象,原型和继承(1)
  • 译有关态射的一切
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 翻译 | The Principles of OOD 面向对象设计原则
  • #### go map 底层结构 ####
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (AngularJS)Angular 控制器之间通信初探
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (十三)Maven插件解析运行机制
  • (学习日记)2024.01.09
  • (转)ORM
  • (转)我也是一只IT小小鸟
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net8 Blazor 尝鲜
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • ?.的用法
  • @Bean注解详解
  • @Transactional 竟也能解决分布式事务?
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)