.net版本发展历程:
版本 | 版本号 | 发布日期 | Visual Studio | windows集成 |
---|---|---|---|---|
1.0 | 1.0.3705.0 | 2002-02-13 | Visual Studio .NET | |
1.1 | 1.1.4322.573 | 2003-04-24 | Visual Studio .NET 2003 | Windows Server 2003 |
2.0 | 2.0.50727.42 | 2005-11-07 | Visual Studio 2005 | |
3.0 | 3.0.4506.30 | 2006-11-06 | Windows Vista, Windows Server 2008 | |
3.5 | 3.5.21022.8 | 2007-11-19 | Visual Studio 2008 | Windows 7, Windows Server 2008 R2 |
4.0 | 4.0.30319.1 | 2010-04-12 | Visual Studio 2010 |
.NET Framework 各个版本之间的关系图:
以下载自:http://book.51cto.com/art/201010/232052.htm
1.1.1 前世今生--.NET的发展历程
.NET从构思到最终成型经历了一个较长的酝酿和开发周期。据Wikipedia提供的资料,微软在上个世纪90年代末期开始.NET的开发,当时取名"下一代的Windowse服务(Next Generation Windows Services,NGWS)",并于2000年下半年发布.NET 1.0的第一个Beta版本,而就从那时开始,.NET一步一个脚印,从幕后走向前台,最终成为了Windows技术舞台的核心主角之一。
我们先来回顾一下.NET各版本所走过的历程(见图1-1)。
2000年,微软公司向业界展示了.NET Framework 1.0的测试版,在此之前,微软公司一直在各种场合宣传.NET技术的优良特性与强大威力,却始终"犹抱琵琶半遮面"。.NET Framework 1.0测试版的发布,终于让软件工程师们一睹其"庐山真面目",很快地在业界掀起了一场学习与研究.NET技术的热潮,虽然当时还没有软件公司立即将自己的商业产品移植到.NET平台之上,但软件巨人微软的一举一动无疑是众人关注的焦点。
图1-1 .NET各版本的历史回顾与功能扩充程度 |
2000年NET Framework 1.0测试版发布时,微软只提供了一些最基本的开发工具和文档,比如Visual Basic .NET与C#语言编译器,但并未提供一个好的代码编辑器。当时,要想编写.NET程序,只能找一些第三方的编辑器(比如UltraEdit)完成代码的编写工作,再手动使用相应的语言编译器生成可执行程序文件,很不方便。
2002年2月,微软发布.NET Framework 1.0正式版,与此同时,自从1998年之后就再无大动作的Visual Studio 也推出了新的7.0版本,改称为Visual Studio 2002。Visual Studio 2002是微软在开发工具上积累四年之后的一次大革新,全面支持基于.NET平台的各种应用程序开发。
.NET 1.0正式版的发布虽具有"开创性"的意义,但从技术角度而言,这一新的技术平台还很不完善,为此微软公司马不停蹄地对它进行改进,于2003年4月推出了.NET Framework 1.1,相应地Visual Sudio也升级到7.1版本,称为Visual Studio 2003。1.1版本的.NET Framework较1.0的改进非常明显,在随后的两年里,Windows应用软件开发厂商开始逐步地基于这一平台开发新的软件系统和产品。
2005年11月,.NET Framework 2.0发布,与 1.1版本相比,类库更为全面丰富,增强了代码的安全性,程序性能与速度也较前有所提升,为.NET编程语言(如C#和Visual Basic .NET)添加了新的语法特性(比如泛型)。与此同时,Visual Studio也升级到版本8.0,称为Visual Studio 2005,其中引人注目之处是集成了许多软件工程工具(比如单元测试、分布式系统设计器等),使之成为Visual Studio历史上对团队开发支持最好的版本。
.NET 2.0在.NET历史上是一个重要的里程碑,正是从这一版本开始,.NET成为了一个成熟稳定的开发平台,业界开始大规模地开发基于.NET平台的软件项目和产品。
2006年11月底,微软公司发布新一代的操作系统Vista,其中集成了.NET Framework 3.0。.NET Framework 3.0在2.0的基础之上增加了Windows Presentation Foundation(简称WPF)、Windows Communication Foundation(简称WCF)、Windows CardSpace和Windows Workflow Foundation(简称WF)四项新技术,但相应版本的Visual Studio未能同步跟进,开发者必须给Visual Studio 2005单独安装扩充的插件,才能开发.NET 3.0应用程序。
WF、WCF和WPF等新技术虽然"看上去很酷",但在如此短的时间内如此密集地推出这么多的新技术,脚步过大了一些,而且如同微软过去推出的许多其他技术一样,当时这些技术还不算成熟,各方面的表现并不令人满意,因此.NET 3.0的推广不算成功,许多软件开发企业对升级到.NET 3.0持观望态度。另一方面,直接集成.NET 3.0的Windows Vista由于存在着软件兼容性和对硬件要求高等问题,日子也并不好过,许多用户都继续使用Windows XP。
.NET 3.0和Vista遭受到了从开发者到普通用户的共同冷遇。
痛定思痛,微软下决心要在.NET 3.0的下一个版本中"扳回一局",于2007年11月发布了.NET 3.5。正如.NET 1.1版相对于1.0版一样,.NET 3.5可以看成是.NET 3.0的稳定版本。
.NET 3.5除了完善3.0版中新加的WPF、WCF等技术之外,最大的亮点是引入了"LINQ(Language Integrated Query,语言集成查询)",并为了支持LINQ这一技术创新,不仅给.NET基类库添加了新的组件,而且还直接地修改了C#和Visual Basic .NET等.NET编程语言,添加了新的关键字(比如C#中用于定义隐式类型变量的关键字var)和语法特性(比如对Lambda表达式的支持)。
伴随着.NET 3.5,Visual Studio也推出了相应的9.0版本,称为"Visual Studio 2008"。
微软稍后于2008年8月发布的.NET 3.5 SP1并不算引人注目,它只是"悄悄地"对基类库进行了一些改进,增加了一些组件和功能,而底层仍然沿用.NET 2.0以来的公共语言运行时(Common Language Runtime,CLR) 。
.NET 3.5 SP1比较大的变化主要体现在两个方面:
1)在数据存取技术上,引入了"ADO.NET Entity Framework(ADO.NET实体框架)"和"ADO.NET Data Services (ADO.NET数据服务)"这两项非常重要的技术。
2)为ASP.NET添加了"动态数据(Dynamic Data)"和"路由(Routing)"两个新特性,同时在Visual Studio 2008中集成了开发ASP.NET MVC 项目的功能。
有趣的是,微软对Vista也同步进行了完善,于2009年推出了Windows 7。Windows 7直接集成.NET 3.5,从预发布版本开始就广受好评,被看作是Windows XP的最佳继承者。
2010年,.NET 4.0推出,这一版本带来了一大批的新技术,甚至直接将.NET 2.0以来未曾改变的CLR都升级到了4.0,并添加了一个新的"运行时",称为"动态语言运行时(Dynamic Language Runtime,DLR)",变化之大,为.NET 先期版本所未见。
相应地,Visual Studio也升级到了10.0,称为"Visual Studio 2010",为开发各种.NET 4.0应用程序提供了相应的项目模板(比如Silverlight 3 和ASP.NET MVC 2)。
Visual Studio 2010最大的新闻之一是它使用WPF技术开发,这向开发者发出了一个明确的信号,微软已下决心用WPF替代原有的Windows Forms。
.NET 4.0是.NET技术发展史中继.NET 2.0之后又一个重要的里程碑,它实际上标志着一轮新技术浪潮的到来,可以看成是微软在软件技术发展的下一个十年里争夺软件技术制高点的利器。
技术春秋
最初的故事--.NET诞生记
1999年前后,互联网有了爆发性的增长,在这个时代背景下,微软的"掌门人"比尔·盖茨一直在思索着一个对微软公司的发展非常关键的问题--微软是继续专注于Windows,还是向互联网发展,将微软的各种软件产品移植到互联网上?
比尔·盖茨认为,互联网是一个大趋势,于是成立了一个.NET部门进行这方面的探索。
被命名为.NET的新战略就是所谓的"新一代网络平台",这其实就是互联网时代的"视窗"。将来的视窗包括无线通信、智能家电,也包括新一代的人机界面,而更多的终端将可以实现互联网的功能。
比尔·盖茨的这个决定在微软公司内部引发了激烈的争论,Windows的"元老们"对Windows怀有很深的感情,无法容忍任何一件动摇这一产品在公司产品线核心地位的事情发生,而另一批"变革派"则认为:网络将盖过Windows,浏览器将变成一个平台,将会有越来越多的软件在浏览器中运行,因此微软公司应该将Windows的功能逐步移到浏览器上,并冻结对Windows的进一步投资,因为Windows即将完成它的历史使命,会在十年内走到它的生命尽头。
简单地说,.NET战略最初的构想是:微软将开发一个"超级浏览器",它可以运行所有软件。很明显,.NET战略过于激进了,在大多数情况下,技术上的创新往往建立于原有技术基础之上,完全抛弃原有的东西既不可能也不必要。
在"保守派"与"变革派"激烈的争论中,比尔·盖茨最终做了妥协,取消原先的.NET计划,仍将重点放到Windows上,并且决定将.NET建构于Windows之上。
所以,作为一个妥协的产物,.NET从Windows的"挑战者"变成了"合作者",它的角色定位为一个新的Windows应用软件运行平台。