一、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之间的翻译官与字典的功能。

转载自:u012092924博客

Web Form ,winform ,相关推荐

  1. Web Form中的Datagrid的自定义分页

    ASP.NET带给我们很多惊喜,强大的Web Form控件自然是其中的重要部分.这其中,最受关注的当然是Datagrid.在ASP中用HTML标记语法来输出数据的方法在Datagrid数据绑定面前显得 ...

  2. ASP.NET Web Form学习

    ASP.NET Web Form学习 0.aspx与html 它如何工作? 从根本上讲,ASP.NET 页面与 HTML 完全相同. HTML 页面的扩展名是 .htm 或 .html.假如浏览器从服 ...

  3. Henry手记—Web Form中的Datagrid的自定义分页(转)

    原文:http://blog.csdn.net/Latitude/archive/2003/06/02/17227.aspx 韩睿  ( 05/31/2003) ASP.NET带给我们很多惊喜,强大的 ...

  4. Henry手记—Web Form中的Datagrid的自定义分页 (转)

    Henry手记-Web Form中的Datagrid的自定义分页 (转)[@more@]  Henry手记-web Form中的Datagrid的自定义分页XML:namespace prefix = ...

  5. Henry手记—Web Form中的Datagrid的自定义分页

             Henry手记-Web Form中的Datagrid的自定义分页 韩睿  ( 05/31/2003) ASP.NET带给我们很多惊喜,强大的Web Form控件自然是其中的重要部分. ...

  6. Web API WinForm使用HttpClient呼叫Web API

    Web API WinForm使用HttpClient呼叫Web API 前言 之前几篇文章已经介绍了 Web 与 Web API 的使用方式,接下来将介绍如何在 Windows Form 呼叫 We ...

  7. Web Form调用Windows Form的控件

    Web   Form页面的代码:     <%@   Page   Language="vb"   debug="true"   AutoEventWir ...

  8. 让WEB FORM更像WINDOWS FORM: 控制窗体事件

    [按] 你可能会误解本文标题:让WEB FORM 更像WINDOWS FORM. 你也许会把本文当作是讨论应用程序界面. 其实本文讨论的是ASP.NET表现层设计.  也许会给你一点启示:如何设计逻辑 ...

  9. Java POJO Bean 对象与 Web Form 表单的自动装配

    PS: 我一直在找寻为什么 struts2有自动将form字段和getter setter 自动 匹配的功能, 这篇文章解答了我的疑惑 深度剖析:Java POJO Bean 对象与 Web Form ...

最新文章

  1. 集成学习(Bagging和AdaBoost和随机森林(random forest))
  2. spring控制事务:声明式事务(XML)事务的传播行为
  3. mycat 资料汇总
  4. wpf开源ui引用步骤_吸引开源社区的5个步骤
  5. 【scala初学】scala 语法 声明
  6. mysql锁机制原理,一招彻底弄懂!
  7. OCR文字识别技术总结(三)
  8. does not name a type是什么意思_科普:WSGI 是什么,看完保证懂
  9. 30美味的食物移动应用设计
  10. 生命中的七堂课(转)
  11. Excel VBA编程
  12. 某城郊 110KV 降压变电站监控系统设计简介
  13. IOS 关于扬声器和听话筒的设置 ----自己试验过的,可以达到扩音器和听筒播放的效果...
  14. Cypress初探(一)
  15. c语言混沌序列,基于混沌序列的数据加密算法
  16. IDEA更改中文字体
  17. 用python画卡通图_需要用Python和OpenCV制作一张卡通漫画版的图片
  18. RS485通信的学习以及思考
  19. Jeesite单点登录集成Cas另加自定义登录验证
  20. 50岁学计算机后往哪方面发展,50岁的人,学点什么技术可为以后养老打点基础?看完明白了...

热门文章

  1. LaTeX公式(对小白十分友好的线上公式生成神器)
  2. 毕业倒计时 — 科班仔Java后端的点滴与学习路线规划
  3. 如何做出实用而强大的数据地图?
  4. 总结《社交阅读的情绪化输出研究——基于2021年度豆瓣热门书评的文本分析》为文献综述...
  5. 数字化时代下,智能运维全栈监控解决方案及案例盘点
  6. 【JS 逆向百例】层层嵌套!某加速商城 RSA 加密
  7. 阿里和亚马逊的云战争:云计算正在成为新一代商业基础设施
  8. Win10系统 默认以管理员权限运行所有程序
  9. 中文元宇宙游戏有哪些
  10. c语言变量循环队列的遍历操作,C语言实现循环队列