net framework是什么?net framework有什么用
.NET Framework是一个框架,简单的说,例如你用C#写了一段代码
public void Add(int a, int b)
{
return a+b;
}
当你用.NET Framework编译后,会编译为一个中间语言,这个中间语言和机器相关,例如
如果你是32位操作系统,可能编译为Int32类型,如果是64位,可能编译为64位类型
但是,最对开发者而言,可以忽略这些细节。
public void Add(int32 a, int32 b)
{
return a+b;
}
public void Add(int64 a, int64 b)
{
return a+b;
}
当机器运行时,.NET Framework 把中间语言编译为机器最终可以运行的语言(类似汇编语言)
public void Add(a, b)
{
mov a;
mov b
add a,b
return a sub b;
}
换句话说. .NET Framwork主要是微软自己实现了高级语言到windows平台上语言的实现。
其实,开源社区也实现了一个Mono Framwork,他可以把开发语言编译为Linux平台上实现的语言(也就是.NET程序可以运行在linux上,前提是linux装一个mono框架)。
简单的说,.NET就是一种连接,把人、机器、信息通过一个平台连接在一起
.NET就是.NETFramework、VisualStudio.NET及开发出的应用(ASP.NET、WinForms等),要说给Microsoft.NET下个准确定义,说实话,这个还挺难为人的。
微软自己有一段时间都承认给其对.NET的定义和使用给用户带来了很confused的感觉,后来“.NET”就不在Windows2003Server和其它一些服务器产品中使用了。在MicrosoftChina网站上对.NET定义如下:
Microsoft®.NET是MicrosoftXMLWebservices平台。XMLWebservices允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft.NET平台提供创建XMLWebservices并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。在Microsoft网站上对.NET定义如下:
Microsoft®.NET是微软公司的一组软件技术,用来连接信息、人、系统和各种设备。它通过使用WebServices技术来获得软件的高度集成。除了将小型的、分散的、构建模块应用互相连接起来,还将Internet上的更大应用连接起来(翻译的可能不是很准确)。第二种定义虽然模糊了许多,但是似乎更贴切一些。两种定义里都把WebServices做为.NET的核心,其基本要素就是智能客户端、服务器、WebServices、开发工具以及一个额外的.NET体验。
由此给出我的定义:
Microsoft®.NET是Microsoft围绕WebServices为核心,为信息、人、系统、各种设备提供无缝连接的一组软件产品(SmartClient、服务器、开发工具)、技术(WebServices)或服务(.NETServices,如.NETPassport)。其实还是句虚话,没有什么用,你明白了吗?
net是一个平台,是一个技术框架。
.net目标是让用户不论在什么地方,什么时间都能访问所想要的信息,使互谅网能互通,没有障碍。
XML
Web
services
的内部
Windows
组件。.NET
Framework
旨在实现下列目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在
Internet
上分布,或者是在远程执行的。
提供一个将软件部署和版本控制冲突最小化的代码执行环境。
提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于
Windows
的应用程序和基于
Web
的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于
.NET
Framework
的代码可与任何其他代码集成。
.NET
Framework
具有两个主要组件:公共语言运行库和
.NET
Framework
类库。公共语言运行库是
.NET
Framework
的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET
Framework
的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面
(GUI)
应用程序,也包括基于
ASP.NET
所提供的最新创新的应用程序(如
Web
窗体和
XML
Web
services)。
.NET
Framework
可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET
Framework
不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
例如,ASP.NET
承载运行库以为托管代码提供可伸缩的服务器端环境。ASP.NET
直接使用运行库以启用
ASP.NET
应用程序和
XML
Web
services(本主题稍后将对这两者进行讨论)。
Internet
Explorer
是承载运行库(以
MIME
类型扩展的形式)的非托管应用程序的一个示例。使用
Internet
Explorer
承载运行库使您能够在
HTML
文档中嵌入托管组件或
Windows
窗体控件。以这种方式承载运行库使得托管移动代码(类似于
Microsoft®
ActiveX®
控件)成为可能,不过它需要只有托管代码才能提供的重大改进(如不完全受信任的执行和独立的文件存储)。
参考资料:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpovrIntroductionToNETFrameworkSDK.asp