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

本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.com/?p=23590

报告研究时间:2013-10-29——2013-11-04

报告结论意见:Xilium.CefGlue 是最好的.NET WebKit内核浏览器,用它来做二次发开效果是最好的!

感兴趣的,可以加入:WebKit/Blink 内核浏览器开发 QQ交流群:244840771

开发语言为:.NET/C++ 方向

第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版本,如果用命令行注册,也可以支持。 

下载地址:2016年4月10日 此项目所有源码,以及文档正式开源 244840771 加QQ群下载

本文采用 CC协议 发布,转载请注明:转载自 吾乐吧软件站

本文链接地址:http://www.wuleba.com/?p=23590

 
 from:http://www.wuleba.com/23590.html

【转】.NET多种WebKit内核/Blink内核浏览器初步测评报告的更多相关文章

  1. 基于Gecko内核的简单浏览器实现

    分享一个基于Gecko内核的简单浏览器实现过程. 项目需要需要开发一个简单浏览器,由于被访问的网页中有大量Apng做的动画,使用IE内核的webbrowser不能播放,使用基于WebKit和Cefsh ...

  2. 如何搞定IE+google双内核的360浏览器表单自动回填兼容问题

    最近开发中碰到一个关于表单问题,在用户提交表单时候浏览器会提示是否保存帐号 如果点击保存,在退出帐号切换其他帐号时,浏览器会自动为表单填充数据,为了解决这个自动填充问题时, 主要分2个思路来解决,一个 ...

  3. js/jQuery判断浏览器名称、内核版本、浏览器壳

    1.js方法 /* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV ...

  4. Linux设备驱动开发详解-Note(5)---Linux 内核及内核编程(1)

    Linux 内核及内核编程(1) 成于坚持,败于止步 Linux 2.6 内核的特点 Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面. 1.新的调度器 2.6 ...

  5. Linux内核之 内核同步

    上文我们介绍过进程调度,Linux内核从2.6版本开始支持内核抢占,所以内核很多代码也需要同步保护. 一.同步介绍 1.临界区与竞争条件 所谓临界区(critical regions)就是访问和操作共 ...

  6. 在阿里云中编译Linux4.5.0内核 - Ubuntu内核编译教程

    实验环境:Ubnuntu 64位(推荐使用14.04)+Xshell 阿里云现在提供的云服务器很好用的,用来编译内核性能也不错.本文介绍最基本的内核编译方法,为了方便,所有操作均在root用户下进行. ...

  7. Linux 内核开发—内核简单介绍

    内核简单介绍 Linux 构成 Linux 为什么被划分为系统空间和内核空间 隔离核心程序和应用程序,实现对核心程序和数据的保护. 什么内核空间,用户空间 内核空间和用户空间是程序执行的两种不同的状态 ...

  8. 1.移植3.4内核-分析内核启动过程,重新分区,烧写jffs2文件系统

    1.在上章-移植uboot里.我们来分析下uboot是如何进入到内核的 首先,uboot启动内核是通过bootcmd命令行实现的,在我们之前移植的bootcmd命令行如下所示: bootcmd=nan ...

  9. Linux 内核开发 - 内核定时器

    时间差的度量 系统的定时器硬件以固定的频率产生时钟中断,产生始终中断的间隔以HZ 常量来决定,通常在50~1200之间,x86默认是1000.HZ能够依据不同的内核来配置. Linux 採用jiffi ...

随机推荐

  1. win7下环境搭建

    1.Python下载 https://www.python.org/downloads/windows/ 选择需要安装的版本,我偷懒装的可执行文件. 下载之后双击安装就OK啦,安装过程中有一项偷懒的选 ...

  2. ERP员工入职登记(五)

    在数据库中添加链接的地址:

  3. PHP Mail 简介

    PHP mail() 函数用于从脚本中发送电子邮件. mail(to,subject,message,headers,parameters): 参数 描述 to 必需.规定 email 接收者. su ...

  4. js优化提升访问速度

    一.给JS文件减肥. 有的人为了给网站增加炫目效果,往往会使用一些JS效果代码,这在上个世纪似乎还很流行,对于现在来说,最好在用户体验确实需要的情况下,使用这些东西.至于希望给自己的JS文件减肥的童鞋 ...

  5. 编写postgresql函数执行循环copy命令导入大数据

    CREATE OR REPLACE FUNCTION copyData() RETURNS boolean AS $BODY$ DECLARE i int; begin i :=1; FOR i IN ...

  6. Linux TC (traffic control)

    在着手学习TC采用如下单位来描述带宽: mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/ ...

  7. Xen虚拟机磁盘镜像模板制作(一)—Windows Server 2008(2012)

    这段时间一直在研究如何制作一个适合Xen虚拟化的Windows Server 2008(2012)磁盘镜像,中间虽然遇到了一些阻挠,不过最终还是顺利解决,成功制作出了Xen Windows Serve ...

  8. 从源码安装pip

    由于服务器不能外网,只能通过从网上下载源码包的方式进行安装 下载地址 setuptools pip 安装步骤 首先需要安装setuptools,否则直接安装pip会提示没有setuptools $ t ...

  9. Linux 线程--那一年, 我们一起忽视的pthread_join

    前言: 通过linux的pthread库, 相信大家对创建/销毁线程肯定很熟悉, 不过对pthread_join是否知道的更多呢?实验: 先编写一个常规的程序 #include <pthread ...

  10. discuz如何设置游客可以浏览板块,但是不能查看帖子内容呢?

    后台 ,将用户组 --游客 阅读权限设置为0 QQ快捷登陆不正常 ,在首页,点击QQ快捷登陆,并不跳转到QQ认证页面,而是要输入用户名.密码.验证码等. 但是如果输入的是你想新注册的用户名等信息,却不 ...