.NET框架和发展历史介绍袋鼠社区

.NET框架是由微软开发的软件开发平台,其最主要的两个组成部分是公共语言运行时(CLR)和框架类库(FCL),基础类库(BCL)是框架类库的一个子集,.NET框架的主要结构如下图所示:

1.操作系统:最下层的无疑就是操作系统了。

2.CLR在.NET框架中,运行于底层的是公共语言运行时(CLR),它是公共语言基础设施(CLI(CTS+CLS))的一个实现。

3.FCL在CLR之上,.NET框架提供了全面、丰富的框架类库(FCL),这些类库通过CLR调用操作系统的API实现各种功能。框架类库致力于让开发者通过.NET平台编写各种各样的应用程序,并调用微软的其他产品。这些类库中,一些基础的类组成基础类库(BCL)。

3.语言在类库之上,.NET框架的各种语言共同实现了公共语言规范(CLS)。甲骨文公司的JavaEE是.NET平台的竞争对手之一。.NET框架的最新版本是4.8(截至2019年底)。

【.NET发展史】

截至到现在,C#和.NET平台已经分别有了21和19年的历史。我们简单回顾一下.NET平台的发展历史,它对于我们更好地了解.NET平台有着重要的意义。

2002年:.NET1.0

在.NET出现之前,编写Windows上可以运行的程序就要直接和COM(微软的一套软件的接口标准)打交道。.NET框架试图通过CLR代替COM,并提供更多功能,令用户可以更轻松的使用Windows的资源进行软件开发。

相应地VisualStudio也升级到7,称为VisualStudio2002(上一个版本叫做VisualStudio6)。

该框架包括C#和VB.NET(VisualBasic的继任者)。

同时,第一个版本的ASP.NET也在.NETFramework1.0亮相,它作为网站的解决方案,一直是.NET框架最重要的产品线之一。

2005年:.NET2.0

2005年11月,.NETFramework2.0发布。该框架包括C#2,相比第一代添加了新的语法特性,其中最重要的就是泛型。

与此同时,CLR的版本也相应更新为2.0,VisualStudio也升级到VisualStudio2005。

.NETFramework2.0中,Web应用解决方案仍然是ASP.NETWebForm,但新增了多种多样WebService,包括.NETRemoting(TCP/HTTP/Pipelinecommunication)以及基础的Winsock等。

WindowsForm则作为Windows下的应用程序解决方案。

ADO.NET则作为数据库连接方案(支持SQLServer和Oracle)

2007年:.NET3.0,WCF+WPF+WF.NET3.0是.NET框架最重大的一个更新,包括三大产品线:WCF:统一了过去Web服务混乱的形式,形成了一个统一的格式。WPF:作为前端用户界面的解决方案,包括Silverlight。WF:提供工作流的管理。

.NET3.0标志着Windows平台开始全面转向.NET时代(以后所有版本的Windows都预装.NET)。而在这之前,只有服务器版本的Windows会预装.NET。

当时的.NET只能在Windows上运行,通过CLR调用Windows的API,从而控制电脑硬件。.NET3.0的CLR和.NET2.0相同。

2008年:.NET3.5,C#3(LINQ)与EntityFramework.NET3.5集成了C#3,包括C#3最重要的一个功能,即LINQ。相应地,为了支持LINQ,此版本也加入了扩展方法、Lambda表达式等新功能。

从C#3开始,C#不再是Java的一个跟班小弟,某种意义上实现了对Java的超越(Java直到2014年才在Java8加入了Lambda表达式)。

另外,.NET3.5SP1新增了ADO.NETEntityFramework取代ADO.NET,作为ORM的解决方案。在ADO.NETEntityFramework发表之前,NHibemate是在.NETFramework上经常使用的ORM实现,顾名思义,它是Hibernate在.NETFramework上的实现。

相应地,VisualStudio也升级到了VisualStudio2008。

2010年:.NET4.0和C#4.NET4.0集成了C#4,主要增加了动态语言运行时(DLR)和任务并行库(TPL),它包括PLINQ、任务等,优化了多线程的编程方式。

CLR由2直接升级到4。

相应地,VisualStudio也升级到了VisualStudio2010。

2012年:.NET4.5和C#5.NET4.5和C#5—起发布,.NET4.5框架的生态系统如下图所示。.NET4.5框架的生态系统

C#5基本上全部都是围绕async/await关键字的。

ASP.NETMVC作为ASP.NET的一组类库,于2009年初次发布,最新的版本是ASP.NETMVC5.2。

WebService也在不断进化,从基于XML的WCF发展到RESTful的WebAPI。

从图中可以看到,最上面的应用层,ASP.NET茁壮成长,继续和PHP/JSP等技术分庭抗礼,用户有WebForm和MVC可供选择。在JS方面,选择了jQuery作为官方JS。值得注意的是,MVC中的M由ADO.NETEntityFramework负责。

Windows下的解决方案仍然是WPF。中间的服务和数据层中,Web服务拥抱RESTful,数据库方面也是由ADO.NETEntityFramework唱主角。

最下面当然就是基础类库(BCL)。在C#5中,增加了对异步编程的简化。

相应地,VisualStudio也升级到了VisualStudio2012。在这之后,.NET还有更高的版本4.6和4.7,对应VisualStudio2015和VisualStudio2017。

2016年:.NETCore的问世.NETCore是.NETFramework的新一代版本,也是另外一种实现方式,是微软开发的第一个跨平台的(Windows、MacOSX、Linux)、开源的、模块化的应用程序开发框架。

.NETCore并不算是.NETFramework的继任者,而更像是它的兄弟,所以,现在它们两个各有自己的版本编号。

未来.NETFramework和.NETCore也将会是各自发展,但它们也会同时使用彼此的功能。

.NETCore和.NETFramework共用一部分底层功能(例如一些BCL),参见下图。

.NETCore和.NETFramework之间的关系

与.NETFramework不同的是,.NETCore采用组件化的管理方式,应用程序只需要通过nuget获取需要的组件即可,与.NETFramework一上来就全部安装的做法不同。

.NETCore的应用层包括UWP,用于开发Windows商店应用(部署到任何支持Win10的设备上,例如XBox,智能手机甚至眼镜),和ASP.NETCore,用于开发网站应用(通常展现为微服务的形式)。

中间则是CoreFX,它是.NETCore的基础类库,础类库BCL。

底层则实现两种运行时,CoreRT和CoreCLR。CoreRT将C#或VB.NET代码直接转换为机器码运行在宿主机器上,在不同的平台上,会使用不同的技术(Windows上使用的是.NETNative,MacOS与Linux上使用的是LLILC)。

而CoreCLR就是.NETFrameworkCLR的移植,它包括一个全新的JIT编译器——RyuJIT,依据微软的测试报告,该JIT的性能比旧版本提升了约25%。

由于.NETCore更佳的跨平台表现,越来越多的网络应用使用ASP.NETCore来编写。

合作咨询market@dtstack.com

总部地址杭州市余杭区五常街道阿里巴巴数字生态创新园4号楼袋鼠云

THE END
1..Net平台的概念和组成部分net平台有哪些组成.NET 平台是一个跨平台的软件开发平台,由微软公司开发和维护。它提供了一个统一的环境和工具集,用于开发和执行各种类型的应用程序,包括桌面应用程序、Web 应用程序、移动应用程序、云服务等。下面是.NET 平台的概念和组成部分的介绍: Common Language Runtime (CLR) https://blog.csdn.net/Leslie_Dz/article/details/135865329
2.什么是ASP.NET?.NETASP.NET 是由 Microsoft 创建的开放源代码 Web 框架,助你使用 .NET 生成现代 Web 应用和服务。 ASP.NET 是跨平台的,在 Windows, Linux, macOS, and Docker 上运行。 .NET 平台 .NET 是一个开发人员平台,由工具、编程语言、库组成,用于构建许多不同类型的应用程序。 https://dotnet.microsoft.com/zh-cn/learn/aspnet/what-is-aspnet
3..NET体系概览图集2024最全总结腾讯云开发者社区跨平台,支持Windows、MacOS、Linux,支持x64,、x86、ARM架构。 二、.NET Framework框架 .NET Framework 是运行在 Windows 系列操作系统上的一个系统应用程序。 它是.NET 的核心部分,提供了建立和运行 .NET 应用程序所需要的编辑、编译等核心服务。 它包括2个重要组成部分:公共语言运行时 (Common Language Runtime,https://cloud.tencent.com/developer/article/2422682
4..net的系统结构图.net的组成部分.Net 是软件开发平台,可以使用不同的语言开发出相互集成的软件系统 类似于Windows,可以运行各种软件系统。是一套在Internet上可以无缝连接和沟通的软件技术、工具、产品和服务的总和。 .Net 的主要组成部分如下: 1、.Net Framework(.Net 框架) 2、 Visual Studio 集成开发环境IDE https://blog.51cto.com/u_16099213/6357648
5..net三层架构.NET三层架构将应用程序分为三个层次:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。每一层都有明确的职责和功能,分别负责用户交互、业务处理和数据存储等任务。 二、组成部分及其职责 表示层(UI): 负责用户界面和用户交互,是用户直接接触的部分。 接收用户输入并展示数据给用户。 可以使用ASP.NET Web窗体、https://agents.baidu.com/content/question/25c644c86d730eec1e9fd4a4
6..NET架构系统集成项目管理工程师4.5.4 .NET架构 .NET平台中集成了一系列的技术,例如,COM+和XML等,整个.NET平台包括四部分产品。 (1).NET开发工具。.NET开发工具由.NET语言(C#、VB.NET)、一个集成的IDE(Visual Studio.NET)、类库和通用语言运行时(CLR)构成。 (2).NET专用服务器。.NET专用服务器由一些.NET企业服务器组成,如SQL Server https://www.educity.cn/rk/695464.html