1,NET简史
- 2000年 NET框架1.0测试版诞生。
- 2002年2月 NET框架1.0正式版发布,对应的工具为VS2002。
- 2003年4月 NET框架1.1发布,对应的工具为VS2003。
- 2005年11月 NET框架2.0发布,对应的工具为VS2005,这一版本是.NET的第一个稳定成熟的版本。
- 2007年11月.NET3.5发布,和NET2.0相比,1).NET编程语言(C#等)被做了修改,比如增加了一些关键字(如var),增加了一些新的语法特性(如lambda关键字)。2)增加了如下新技术:WPF,WCF,WF,LINQ,对应的工具为VS2008。
- 2008年8月 NET3.5SP1发布,新增的内容:1)ADO.NET Entity Framework。 2) ADO.NET Data Service。 3)ASP.NET增加了 动态数据和路由两个新特性。4)VS2008中集成了开发ASP.NET MVC的功能。
- 2010年 .NET4.0发布,变化内容:1)CLR从2.0升级为CLR4.0(注意:之前的.NET版本虽有变化,但CLR一直为2.0) 2)增加DLR(动态语言运行时)。对应的工具为VS2010,注意,VS2010用WPF开发。
各个版本操作系统中NET的集成情况:
- NET3.5集成在WIN7,WIN2008 R2中
- NET2.0集成在VISTA,WIN2008中
- 其它详情可参看一位博友的文章:Windows 操作系统与 .NET Framework
2,NET简说
- 开发一个NET程序后,需要由CLR来执行,具体过程:开发一个C#程序--->编译成功---->CLR执行--->调用操作系统API。
- NET程序编译后成为程序集,一般是.exe或.dll文件,这些文件里面是IL代码和元数据,这里的IL代码和元数据以二进制形式存储,无法直接查看,需要由反汇编器来查看,如ILdasm或Reflector。
- .exe文件或.dll文件被CLR调用执行时,会先被JIT编译为本地代码,然后执行。所谓本地代码,就是针对你这台计算机的CPU而生成的机器码,所以,NET程序最终还是被编译成二进制代码而执行的,与传统的WIN32程序执行一样,但还是有一个重要区别:NET程序运行在CLR上,完全由CLR控制,即使抛出异常,也由CLR来处理;WIN32程序则直接运行在WINDOWS系统上面。
- NET的出现并不意味着我们学习成本的降低,实现某些复杂或底层的东西仍然离不开C/C++,我认为.NET出现的目的有两个:1,对开发商而言降低开发成本,提高开发效率。2,对微软而言,需要NET来稳固企业市场,特别是操作系统、服务器的市场以及未来的新兴市场。
- 客观的讲,NET能实现的东东,使用传统技术也能实现,不过确实比.NET麻烦些。
3,NET程序
程序类型有以下几种:
1)WINDOWS程序,就是桌面程序、对NET2.0来说是Winform程序,NET3.0及以后推出了WPF桌面程序开发技术。
2)WEB程序,有ASP.NET应用程序,ASP.NET MVC应用程序,ASP.NET MVC的基础是ASP.NET。
3)其它类型的程序:如WCF程序,Web Service程序,Windows服务等等。
4 NET与移动互联网
主要是Windows Phone7及以后的版本,可以用C#,HTML5在上面开发应用。
5,NET4.0及未来
NET4.0在CLR之上增加了DLR,允许C#等静态语言像Python一样具有动态特性。 通过NET的发展可以看出来,NET平台具有很强的可扩展性,主要是因为其分离的设计,在应用程序和操作系统之间搞了一个CLR,针对CLR做各种扩展,各种修改,就会衍生出N多所谓新技术,另外语言编译器和IL编译器几乎互不影响,可以独立的修改和扩展,这也使得具体语言可以比较容易的增加新特性,比如C#中出现的各种简写,LINQ,lambda表达式等等。
NET平台的技术太多,这里只是说了一部分。