阅读:3556回复:0
.NET多种WebKit内核/Blink内核浏览器初步测评报告
第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版本,如果用命令行注册,也可以支持。 |
|
|