.NET桌面程序集成Web网页开发的多种解决方案

B/S架构的Web程序几乎占据了应用软件的绝大多数市场,但是C/S架构的WinForm、WPF客户端程序依然具有很实用的价值,如设计类软件 AutoCAD与Autodesk Revit、wps、IT类的集成开发环境(数据库、图形处理软件)、PC端的小工具等等,充分利用了客户端电脑的资源综合计算能力,处理性能更加优秀 。如果想在C/S架构的客户端程序中集成Web应用,也只能借助Web网页,然后将网页集成到客户端程序中,这样就间接的达到了目的 。下面是客户端审图系统中集成Web网页的实际应用案例

.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 

.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 
WinForm程序中集成网页的基本原理就是通过一个包含类似浏览器功能的控件,将Web网页载入并解析渲染出来 。
.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 
介绍 WinForm、WPF 集成 Web 网页的多种技术方案之前,先了解一下浏览器的内核 。
浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核” 。负责对网页语法的解释(如标准通用标记语言下的一个应用html、JAVAScript)并渲染(显示)网页 。所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息 。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因 。
.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 
内核分类
  • Trident(MSHTML、IE内核)
内核被包含在全世界最高的使用率的操作系统中,即为windows操作系统,所以我们又经常把它称之为IE内核 。
Trident内核的常见浏览器有:
  • IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)、IE11360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink)360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink)百度浏览器(早期版本)世界之窗浏览器(最初为IE内核,2013年采用Chrome+IE内核)UC浏览器(Webkit内核+Trident内核)其他等
其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核 。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换 。
  • Gecko(Firefox内核)
Gecko内核常见的浏览器:Mozilla Firefox、Mozilla SeaMonkey、waterfox(Firefox的64位开源版)、Iceweasel、Epiphany(早期版本)、Flock(早期版本)、K-Meleon 。
  • Webkit(Safari内核,Chrome内核原型,开源)
WebKit内核常见的浏览器:Chrome、傲游浏览器3、Apple Safari (Win/mac/iphone/iPad)、Symbian手机浏览器、Android 默认浏览器 。
.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 
参考网站:
https://liulanmi.com/labs/core.html
  • Blink
Blink是一个由google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息 。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用 。
.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 
浏览器内核检测
  • ie.icoa.cn
https://ie.icoa.cn 可检测 PC 或手机浏览器内核和操作系统类型,包括Google Chrome的WebKit、IE的Trident、ME的Edge、Firefox的Gecko/Servo,以及
Windows/MacOS/linux/IOS/Android等的判断 。
.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 

.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 

.NET桌面程序集成Web网页开发的多种解决方案

文章插图
 
  • http://mybrowse.osfipin.com

.NET桌面程序集成Web网页开发的多种解决方案


推荐阅读