Winform应用和Web应用的比较

比较WinForm应用和Web应用[整理]
2007-08-17 23:55

1、UI的布局能力

HTML具有完善的布局能力,包括能够基于文本流进行布局,包括各种段落、图片,段落中文字的左中右对齐,段首的缩进,行间距,避头尾字符;HTML的表格具有极强的布局功能,可以将UI分割成不同比例的部分,可以按照比例缩放;HTML元素的位置和尺寸,不但可以是像素也可以是百分比;矢量图可以通过VML来实现,任何元素作为位图输出之前,可以通过滤镜变换。

WinForm主要是以GDI在窗口上输出,理论上没有什么实现不了的。当然,要想实现成HTML的能力是不现实的。GDI的优势就是快,省去了解析HTML的开销。

2、定制Control的能力

在浏览器中可以定制HTC,WinForm中可以定制WinForm,并有大量第三方Control。

DHTML有非常完备的DOM模型,各种对象的属性、方法、事件非常完备。可惜,通常在页面上只能通过脚本语言进行操作。
WinForm中Control的对象模型也不错,但是,主要原因是没有HTML的完整的对象模型,目前,都是窗口控件,没有无窗口控件。

Web开发的问题在与客户端没有完善的开发环境和开发语言,只能用脚本。
而WinForm的开发有强类型的语言支持,有完整的类库,可以编写自己的控件库。WinForm程序由于客户端有.net framework,我们可以使用任意.net framework的数据类型,如dataset,我们可以实现数据绑定,然后,仅仅将变化的数据提交给服务器。

3、和服务器的通讯能力

Web应用中的提交方式(Form提交、XmlHttp等)不同,会引出状态问题;

WinForm则不存在这种问题,而且WinForm可以和服务器保持连接状态,在有些应用中很有用,如大数据量分页查询。WinForm也可以实现与服务器的事件通讯机制,这对于一个data entry为主的应用,中间和服务器有若干次交互,WinForm程序更有优势。(WinForm可以运用非常多的手段与服务器进行通讯,如WebService、Remoting、Http、Socket....)

我们可以得出一个结论,以展现为主的程序用HTML进行界面表现更好,而以数据录入有关,且和服务器交互频繁的程序,用WinForm程序应该较好。
最关键的是,使用Web开发,开发人员需要掌握两套体系。

4、认证和本地访问权限


Web应用的认证方式由服务器设置,客户端是通过浏览器实现的。
WinForm程序作为客户端,可以使用各种方式来提供认证信息。


Web应用中,程序能控制什么,一切由浏览器设置,例如,自动登陆还是密码认证,而WinForm程序可以自己制定需要什么帐户登陆,选用哪一种认证方式。
Web应用本地访问权限比较简单和笼统,分为internet,local intranet, trusted sites和restricted sites,所能进行的控制比较简单。基本上不能涉及到对资源本身的访问权限,如文件系统网络访问。

(以上根据微软电子课堂相关内容整理)



原文地址:https://www.cnblogs.com/lvfeilong/p/fdfa.html