一、 在服务器端WEB开发技术不断发展进步的同时,客户端程序设计方式也在变得更加流行。Web开发人员开始尝试各种不同的方法以增强Web页面的功能和效果,这些应用程序被完全下载到客户端的浏览器中,并在本地计算机的浏览器中执行。客户端技术的最大问题在于:各种操作系统和不同的浏览器并非完全兼容这些客户端技术,有时甚至需要发布对客户端浏览器的更新。换句话说,客户端程序设计模型牺牲了Web开发本身最重要的优势。
ASP.NET设计作为服务器端的技术,所有ASP.NET代码都在服务器端执行,其特点为:
但是客户端程序设计并不会完全消亡,许多优秀的ASP.NET控件能够智能地检测客户端浏览器的特性。如果客户端浏览器支持JavaScript,则这些控件将生产包含了JavaScript代码的页面,以向客户端浏览器返回外观更丰富、更具有交互性的页面。但是无论浏览器的兼容性如何,ASP.NET的代码将总是在服务器端执行。客户端代码的装饰,仅仅是蛋糕上点缀的霜糖而已。
二、 .NET Framework实际上是一簇各种技术的集合,这些技术包含以下内容:
对于ASP.NET这个术语,在狭义范围内指的是.NET类库中专门用于设计Web页面那一部分类库。但是另一方面,ASP.NET也可以用来泛指所有与.NET Web应用程序开发相关的技术。到目前为止,ASP.NET已经发布了四个主要版本,ASP.NET1.0;ASP.NET1.1;ASP.NET2.0;ASP.NET3.5。具体每个版本更新内容均在前一版本基础上添加一些更高的层次的新特性,以提高ASP.NET程序开发的生产率。
三、c#、VB和.NET语言:任何的C#代码都可以逐行地转换为等价的VB代码,反之亦然。尽管偶尔会出现一点语言之间的微小差异,但是就绝大部分内容而言,学过了一种.NET语言的开发人员可以快速而高效地迁移到另一种.NET语言。所有的.NET语言都将被编译为另一种更底层的语言,通用中间语言(CIL或IL,common Intermediate Language)。
CLR是.NET的执行引擎,仅支持IL的代码。由于所有的.NET语言都是基于IL来设计的,.NET语言具有极高的兼容性。通过通用语言规范(CLS,common Language Specification)来规范化.NET语言的兼容性,本质上CLS是一种约定,遵循这种约定的话,就可以保证用一种.NET语言所编写的组件能够被其他所有.NET语言使用。CLS的一个重要组成部分是通用类型系统(CTS,Common Type System),其定义了所有.NET语言通用的数据类型的规范,还定义了.NET语言中面向对象的语言要素。
CLR还蕴含了以下较为广泛的内容:
由于机器代码依赖于包括CPU在内的几个特定因素,其并不适合部署到其他计算机上,因为无法保证其他计算机也使用了相同的中央处理器,所以.NET编译器不将.NET语言代码直接编译为机器代码。
四、.NET类库:微软的原则是尽可能多的提供各种软件基础设施和功能,以使得应用程序开发人员仅需要编写少量业务逻辑层面上的代码。包括Web应用程序、桌面应用程序等。同时微软提供了Visual Studio开发工具用于提供功能丰富的软件集成开发环境,可以快速的创建高级应用程序,其包含了大量的高级特性:
以上内容整理至《ASP.NET3.5 从入门到精通(C#2008版)》