一、WebForm、WinForm、Win32之间关系
1.WebForm
WebForm是.net中用于开发web应用的一系列技术的通称。特点是使用统一的UI,就是web页面,统一的client端(客户端),浏览器。没有平台和浏览器限制(因为webform产生的页面是html 3.2兼容的)。WebForm页面构架是一个可升级的公用语言运行程序模型,被用来在服务器端动态地建立Web页面。
WebForm是纯文本文件,以.aspx为文件扩展名。当客户端浏览器请求一个.aspx文件时,Asp.net将解析并编译目标文件为.net构架类,接着这个类动态处理客户端的请求。相对Asp
,Asp.net引入了全新的的HTML编程模式,包括全新的服务器端控件,表单的事件驱动,数据绑定等。
WebForm的出现在很大程度上为了实现web上RAD(快速应用程序开发)开发,传统的b/s程序中程序员要做界面时往往要与网页制做人员结合,现在ms给了你一个和vb或delphi一样所见即所得的web开发界面,它是运行在.net架构之上.
2.WinForm
WinForm是.Net开发平台中对Windows Form的一种称谓。.Net 为开发WinForm的应用程序提供了丰富的Class Library(类库)。这些WinFrom 类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms。在此名称空间中定义了许多类,在开发基于.Net的GUI应用程序的时候,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。本文就试图通过一个最基本的类--Form.
3.Win32
Win32是建立 Win32 Windows 应用程序,包括主控台应用程序、可执行的 Windows 架构应用程序、动态链接库 (DLL) 以及静态链接库。
4.WebForm和 WinForm的最大区别是:
WebForm应用程序部署在服务器端,用户通过浏览器与其交互;WinForm应用程序需要部署到客户端,用户通过专门为该程序打造的用户界面与其交互。
WebForm是基于Web浏览器的网络应用程序窗体,WinForm是基于Windows桌面应用程序窗体.
二、ASP.Net和C#.Net的区别
C#.net是ADO.net,主要用于做C/S架构的窗体,也就是winform。
asp.net主要是做B/S架构web窗体,现在大部分都是网站和系统都是面向web的,所以现在基本上用asp.net的人比较多,而ADO个别的内容也是在web中使用的
三、asp.net与C#及.NET Framework的关系?
c#是一种编程语言,由微软开发的,其写出的程序需要.NET Framework的支撑才能运行。
c#有两个开发方向:.net和winform。前者主要是用于网站的开发,只在运行此网站的机子上安装.NET Framework即可,浏览网站的机子不用。后者主要是用于应用软件(桌面软件或者是服务)的开发,所有运行程序的机子上都需要安装.NET Framework
.NET Framework:支持winform或者win32(多时服务)程序运行的框架
四、C#、 winform以及 .NET之间关系。
net包括一个解析应用程序代码的类库以及一个支持程序运行的平台。
何谓平台:
比方说exe可执行文件可以在Windows上运行,却不能在Linux上面运行。操作系统本身就是一个运行平台。底层的API等可以看做类库。所有在Windows上运行的程序其实都只是对底层API直接或间接地调用,扩展了操作系统的功能而已。
.net之前的Windows程序在写完后被编译成二进制的exe文件。它们可以直接被操作系统解释并送到CPU里面运行。也就是说Windows就是这些程序运行的平台。
问题1:
不光Windows与Linux是不同的运行平台。Windows的不同版本也是不同的运行平台。因为它们的操作系统内核或多或少不一样。API的类库也存在差异。如果各个版本的Windows内核不能完全兼容,就会导致如下问题:如果某程序编写的时候调用了某个特定版本Windows的某个函数,并且该函数在其它版本的Windows内核中都没有,那么把该程序发布到其它版本的Windows至上就会出现运行时错误。运行到一半发现找不到某个函数,这是一个问题。
另一个显著的问题是:
编程语言何其之多。如果写C语言的人能够调用B语言编写的组件。那么代码的重用性就得到了极大程度上的增强。
.net
.net出现后解决了很多问题。当然包括这两个问题。.net支持很多种语言。但是C#才是为.net量身定做的语言。
.net本质也只是对API进行了更安全的封装,也只是Windows的一种扩展而已。但是它之所以独立于Windows之上成为一个运行平台,是因为.net编写的程序并没有直接编译成Windows能够理解的二进制文件。而是编译成了.net的中间语言。好比我们重新定义了一种国际语言。它既不是英语也不是汉语,不是现存的任何语言。但是它可以用来翻译现存的所有语言。正因为程序被编译成了中间语言,它们在这个层面上可以自由地交流。所以C#之类的C型语言可以跟VB型的B型语言等互相访问。也正因为它们被编译成了一种操作系统不认识的中间语言,它们才需要有一个解析平台(公共语言运行时,也是.net的一个部分)。.net相当于同时充当了程序与Windows之间的翻译官与字典的功能。
Winform
你学会了一种语言的时候,可以用它来唱歌,也可以用它来写诗。当你要唱歌或者要写诗的时候,你可以用任何一种语言。Winform说到底不就是编程语言的一件艺术品么?