.NET、C#和ASP.NET三者的关系和区别
⼀、什么是 .NET ?
.NET是微软公司下的⼀个开发平台,在这个平台下可以⽤不同的语⾔进⾏开发,如 C#、 F#、 Visual Basic等语⾔来编写.NET应⽤程序。
JAVA和.NET不同的⼀点是java是跨平台的,不跨语⾔的。⽽.NET构建的应⽤程序,有些是跨平台的,有些则针对特定的OS或.NET实现。
1. .NET框架的组成分为两部分:
CLR:公共语⾔运⾏时(Common Language Runtime),提供内在管理,代码安全性检测等功能。
FLC:.NET框架类库(.NET Framework Class Library),提供⼤量应⽤类库,类库中有很多线程的资源可使⽤(⽐如:类,⽅法,属性),提⾼开效率。
2. CLR的结构:
CLS:公共语⾔规范,获取各种语⾔转换成统⼀的语法规范。
CTS:通⽤类型系统,将各种语⾔中的数据类型转换成统⼀的类型。
JIT:实时编译器(即时编译器)⽤于将转换之后的语⾔编译为⼆进制语⾔,交给CPU执⾏。
3. .NET运⾏的机制流程:
各种语⾔(C#、 F#、 Visual Basic等对应的源程序)——>经过CLS,CTS第⼀次编译——>统⼀规范语⾔(中间语
⾔)MSIL(.EXE,.DLL)——>JIT第⼆次编译——>⼆进制语⾔——>运⾏在CPU中
java的运⾏机制:
java——>编译——>字节码⽂件(.CLASS)——>jvm解释(jvm虚拟机)——>⼆进制语⾔——>运⾏在CPU中
⼆、什么是 C# ?
C#是微软公司发布的⾯向对象的编程语⾔,运⾏于.NET Framework和.NET Core上的⾼级程序设计语⾔。
C#看起来与Java有着惊⼈的相似,包括了单⼀继承、接⼝、与Java⼏乎同样的语法和编译成中间代码再运⾏的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的⼀个特点,与COM(组件对象模型)是直接集成的,C#是微软公司 .NET windows⽹络框架的主⾓。
三、什么是 ASP.NET ?
ASP.NET是微软公司推出的.NET框架中的⼀个应⽤模型,⽤于⽣成基于Web的应⽤程序的内容丰富的编程框架。
使⽤ASP.NET开发Web应⽤程序并维持其运⾏,⽐其他开发语⾔更加简单。与Java、PHP和Perl等⾼级技术相⽐,ASP.NET具有⽅便性、灵活性、⽣产效率⾼、安全性⾼及⾯向对象等优点,是⽬前主流的⽹络编程技术之⼀。
四、.NET、C# 和ASP.NET 三者具体关系:
.NET分成两个⽅⾯:
⼀个是WinForm(基于Windows窗体,C/S模式),⼀个是WebForm(ASP.NET基于Web页⾯,即B/S模式的开发)
.
NET有很多种语⾔组成,⽐如C#、 F#、 Visual Basic,但是都是运⾏在.NET FrameWork Run Time底下的。就像Java离不开
JVM(JAVA虚拟机)⼀样。
⽽ASP.NET 可以⽤C#或VB.Net来开发。编译后形成CLR(中间语⾔),然后通过服务器的IIS+.Net FrameWork再次编译来运⾏。
⼀句话总结:.NET是开发平台,C#是编程语⾔之⼀,ASP.NET是基于.NET框架,可以⽤C#语⾔开发的应⽤模型。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论