引言
在WPF开发中,经常会有混合开发的需求,即在WPF中加载网页,目前最常用也是最流行的方式是CefSharp,它的功能非常强大,可以提供较为完善的开发和使用体验,但是CefSharp也有一定的缺点,如体积过大,配置繁琐等。值得兴奋的是,微软基于Edge浏览器推出了webview2控件,用于解决混合开发的痛点.
最近研究.net Core的时候,发现微软终于放弃IE内核,拥抱Chrome了,这也算是微软对开源的决心越来越大吧。作为桌面端程序开发人员,不管是使用Winform还是WPF,如果想在界面上加载HTMl代码,使用自带的WebBrowser会发现是灾难性的事件,WebBrowser万年不变的IE7内核让不管多绚丽多彩的HTMl暗然失色,于是开始寻找替代方案,而CefSharp就是不二之选,CefSharp使用的是CEF开源框架,CEF 是一个基于google chromiun的简单的框架。
源于Google官方
CEF ,全称Chromium Embedded Framework ,基于谷歌 Chromium项目的开源Web Browser控件,它的主要用途是嵌入了第三方应用以实现浏览器相关的功能。例如国内的360安全浏览器的兼容模式即IE的内核,极速模式即Chromium内核;最近微软新推出的Microsoft Edge也是基于Chromium开源项目实现的,看起来挺简洁的。
CEF地址:https://bitbucket.org/chromiumembedded/
而CefSharp是Cef的C#版本,让Chromium浏览器也可嵌入WinForms 和WPF中。
CefSharp地址:http://cefsharp.github.io/
CefSharp用途
关于CefSharp的用途,目前接触到的有:
1、部署开发的网页程序:我想B/S项目也不会专门造"轮子"来部署web应用程序;
2、定制开发浏览器:国内很多浏览器都是基于Chromium来包装的,如搜狗、360、QQ浏览器等;
3、特定的网页处理:例如网页爬虫,除了可以使用强大的Python来做,CefSharp也可完成;
4、客户端嵌入Web应用:例如项目中开发一套B/S应用,可以直接嵌入C/S中,不必重写大量代码。
如下图所示,为了使用Cesium框架在C/S项目中,在完成Cesium的B/S功能开发后,通过CefSharp可嵌入到C/S中使用。
示例一:使用CefSharp加载百度地图网页:
示例二:使用CefSharp加载Cesium球。
标签:CEF,CefSharp,浏览器,简介,网页,WPF,Chromium From: https://www.cnblogs.com/cdaniu/p/16736651.html