zoukankan      html  css  js  c++  java
  • 基于.net开发chrome核心浏览器【二】

    一:

    上一篇的链接:

    基于.net开发chrome核心浏览器【一】

    二:

    相关资源介绍:

    chrome Frame:

      让IE有一颗chrome的心,看起来不错,但我没有深入研究这个东西。

    http://www.google.com/chromeframe?hl=zh-CN&quickenable=true

    https://developers.google.com/chrome/chrome-frame/

    WebKit.Net

      已经有一段时间没人更新这个开源项目了,没有研究过

      http://sourceforge.net/projects/webkitdotnet/

    CEF

      研究过,很不错的类库,但是是C和C++写的

      https://code.google.com/p/chromiumembedded/

      http://www.cnblogs.com/think/archive/2011/10/06/CEF-Introduce.html(园友谭振林写的相关文章)

    Xilium.CefGlue

      基于CEF,用.net包装过,很不错,我就用的这个类库(Xilium.CefGlue/3)

      https://bitbucket.org/xilium/xilium.cefglue/wiki/Home

    O.N.E

      国内的人开发的,没研究过,貌似收费的。

    http://www.one-lab.net/

    node-webkit

      园子里的人开发的,非常不错的点子,node和chromium的结合,赞

      https://github.com/rogerwang/node-webkit/

      http://www.cnblogs.com/zhchbin/

    qt

      我在这方面花费了大量的时间和精力,结果是一个坑跟着一个坑,但到现在还是不忍放弃

      http://qt-project.org/downloads

    open-webkit-sharp

      园友推荐的,我大概看了一下介绍,感觉很不错的样子!

      https://code.google.com/p/open-webkit-sharp/

    另外

    这里说到的很多资源都是园友在上一篇文章中提到的。

    谢谢你们。

    三:

    CEF有两个版本,CEF1和CEF3

    CEF1是单进程的,实现了更多的特性,内存使用更少,与客户端应用更能完美的结合,使用的是WebKit的API,但是FLASH无法在这个框架中正常播放,不支持html5的音频和视频,只支持NPAPI插件。关于NPAPI插件的相关知识,请参阅这里:http://developer.chrome.com/extensions/npapi.html(好像要FQ)

    CEF3是多进程的,使用异步消息的方式来完成主进程和其他进程的通信(其他进程有可能是Webkit,也有可能是V8的解析引擎进程),使用的是chromium官方的内容呈现API,支持NPAPI和PPAPI插件,有一个单独的进程用于调试,相对于CEF1来说,虽然可以播放FLASH等视频,但是还有很多问题没有处理掉,社区里的人认为CEF1更稳定一些,CEF3的issues列表,请参阅这里:https://code.google.com/p/chromiumembedded/issues/list

    我们选用的是CEF3和Xilium.CefGlue,Xilium.CefGlue是对CEF项目的.net的包装,它是用P/Invoke的方式来调用CEF类库的,请参见:https://bitbucket.org/xilium/xilium.cefglue/wiki/Home

    还有一个CEFSharp的项目,是用C++/CLI的方式来调用CEF类库的,请参见:https://github.com/chillitom/CefSharp

    四:

    下载最新版的CEF的动态链接库

    下载地址为:http://xilium.bitbucket.org/cefglue/

    一定要在这个页面来下载!因为只有这个页面给出的动态链接库才是Xilium.CefGlue所支持的

    目前看到的是3.1353.1236版本(我没有下载debug版本的)

    五:

    下载最新的Xilium.CefGlue代码

    下载地址:https://bitbucket.org/xilium/xilium.cefglue/overview

    右侧点“下载”就可以了

    六:

    把下载到的两个压缩包都解压缩

    把\cef_binary_3.1453.1236_windows_xilium\Release目录里的文件复制出来

    粘帖到:\xilium-xilium.cefglue-50e94efc4182\CefGlue.Demo.WinForms\bin\Debug目录下

    七:

    打开\xilium-xilium.cefglue-50e94efc4182\目录下的解决方案文件

    把CefGlue.Demo.WinForms设为启动项目

      注意事项:

      1.

    把程序集CefGlue.Demo.GtkSharp卸载掉,

    这个程序集是给mono平台用的,你也可以把WPF相关的程序集也卸载掉

      2.

      右键单击CefGlue.Demo.WinForms程序集,点属性,选择调试,

      取消选中“启用visual studio承载进程”,

      因为CEF3是基于多进程的,VS无能力承载,所以只有取消掉这个选项

      3.

      右键单击CefGlue.Demo.WinForms程序集,点属性,选择生成,把目标平台改成X86

      (这一项如果编译不通过再来修改也无碍)

    八:

    编译并执行,

    你就可以看到CefGlue为你写的DEMO了。

    你如果嫌这个DEMO里的代码比较复杂

    你也可以看看CefGlue.Client这个程序集

    这个程序集是个比较简单的DEMO,

    你也可以按照上面的步骤让这个DEMO跑起来

    九:

    上面的DEMO看起来是这个样子的:

    在这个DEMO的samples菜单中有几个简单的示例

    这给开发者提供方便的,开发者在写自己的程序时,经常会看这几个DEMO

    但几个DEMO实在是太少了。

    十:

    打开cef_binary_3.1453.1236_windows_xilium目录中的工程文件

    (这才是CEF项目,前面说的是基于CEF开发的CefGlue项目)

    编译并运行

    你会看到一个类似这样的界面:

    这个DEMO中,主菜单中的test是为开发人员准备的DEMO

    明显比CefGlue要多一些!

    如果你有一些C和C++功底(不用很高)也能看懂这里的例子

    十一:

    说实在的,这个项目还是有挺多的坑的,我已经碰到了好几个

    跌跌撞撞总算走过来了,我一步一步的把我的经验都分享给园友

    请持续关注我的后续文章

  • 相关阅读:
    SOD开源框架MSF(消息服务框架)介绍
    c#中foreach的一种用法
    MSSql异常处理框架
    什么是架构?有几人说的清楚
    MSSql动态行转列
    WebForm版demo,模拟手机Usb接口充电
    规范化流程不能窥探的咪咪
    我对领导者的定义
    以乞丐为最大的贵客
    程序猿,是如何逆袭的
  • 原文地址:https://www.cnblogs.com/liulun/p/3031502.html
Copyright © 2011-2022 走看看