cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5818
  • QQ14265545
  • 铜币29305枚
  • 威望130点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
阅读:1980回复:0

.NET多种WebKit内核/Blink内核浏览器初步测评报告

楼主#
更多 发布于:2017-11-21 10:21
第2篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:导航篇

星级 名称 语言 版本 优点 缺点
★★ Chromium Embedded Framework (CEF) C/C++ 3.1547.1406
1、开源项目,有社区支持 1、C++更新维护成本太高
2、一直都还在更新维护 2、开发难度较大
3、基于CEF二次开发项目多
★★★★ Xilium.CefGlue C# 3.1547.1448
1、基于CEF,DotNET封装 1、参考资料较少
2、继承CEF优良特性 2、可能有些大坑,需要自己解决
3、无需安装多余组件,直接可用 3、已知JS调C#方法,但方法很繁琐
4、CSS3、JS、HTML5 效率高
5、已成功封装类库 Binding’s CLR Object
★★★☆ CefSharp C# 1.25.5
1、基于CEF,DotNET封装 1、要求手动安装VC2012组件
2、继承CEF优良特性 2、此项目是C++与C#混合开发
3、可以实现JS回调C#方法 3、网页加载中关闭,进程不退出
4、CLR OBJ 与 JS 交互非常强 4、CSS3与JS效率比CefGlue略低
5、官方提供的资料比较有用
★ O.N.E C#/VB.NET/DELPHI/C++ 534.x
1、官方提供一定文档资料 1、收费
2、内核、开发语言较全 2、主要是VC资料,C#较少
☆ Node-Webkit C++/JS/HTML5 0.8.0
1、跨平台 1、资料极少
2、用Web技术编写桌面应用 2、学习成本极高,与项目不符
★★ WebKit.NET C# 0.5
1、很多资料都是基于这个开发 1、作者已在2010年停止更新
2、要求手动安装VC2005组件
3、要求安装Apple QuickTime
★★★ Open-Webkit-Sharp C# 3.0.1.0023
1、基于WebKit.NET 0.5开发  1、内核较老,日后可能有问题
2、可以实现JS回调C#方法 2、要求手动安装VC2005组件
3、用法与WebBrowser相似 3、要求安装Apple QuickTime
4、学习成本相对较低,易上手 4、源码编译缺少组件,无法调试
5、只能调用他的DLL进行二次开发
6、低版本内核显示字体有点怪

要点说明:
01、Open-Webkit-Sharp 默认不存在JS对话框,如果需要显示alert box,则需要在ShowJavaScriptAlertPanel进行捕捉,然后显示对话框;
02、Open-Webkit-Sharp 内核较老,所以显示的字体会比较粗(旧版本就是如此),可通过webKitBrowser.Appearance.FontSmoothing缓解,暂时无法根治;
03、以上所有的项目,都必须在X86环境下,才能正常工作,否则运行直接报错;部分项目还需要取消勾选“启动Visual Studio承载进程”;
04、从长远上说,应该选用Xilium.CefGlue,但是这个苦于无法解决“JS调用C#方法”问题,因而被迫选择Open-Webkit-Sharp作为折中方案;
05、在XP环境中,Xilium.CefGlue的JS对话框与默认主题冲突,会错位,换主题可解决;
06、Open-Webkit-Sharp 需要依次安装VC2005、VC2008、VC2010组件之后,才能正常工作,否则会有各种报错;
07、CefSharp 需要安装VC2012 x86 11.0.60610.1组件才能运行,必须是这个版本,其他一律没用;编译代码时需要重新设置“平台工具集”,改成支持XP模式;
08、CefSharp 网页加载过程中(未加载完毕),如果这个时候退出程序,则会导致进程无法退出;此外XP环境下存在较严重的进程不会退出问题;
09、CefSharp 对于CSS3、JS的解析效果不如Xilium.CefGlue,两者相比,会发现CefSharp比较慢、会卡、有细微停顿等问题;
10、Xilium.CefGlue 已经解决“JS调用C#方法”问题,但是需要把JS代码写在程序后台,实现起来非常繁琐,很不灵活;
11、Xilium.CefGlue 已成功封装类库 Binding’s CLR Object,现在只需定义变量名称,然后new class(),就可完成全自动绑定,不再需要后台写JS,非常方便;
12、只要是基于CEF开发的项目,都必须安装NPAPI版本的Adobe Flash组件,否则不能播放动画。Chrome系统默认安装的是PPAPI版本,如果用命令行注册,也可以支持。
喜欢0 评分0
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
游客

返回顶部