CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目。Google Chromium项目主要是为Google Chrome应用开发的,而CEF的目标则是为第三方应用提供可嵌入浏览器支持。CEF3不仅开源,而且跨平台,框架的开发者也不断的在更新,英文资料较丰富,对HTML5,CSS3等支持也很好。目前CEF3被全球很多公司使用,国内使用该框架的公司也不少,比如腾讯、网易、37游戏、印象笔记等。可以算的上应用最广泛的基于Google Chromium 的开源项目之一。CEF3除了用作可嵌入浏览器应用,还可以用作web开发界面交互,甚至简单的浏览器。

经过粗暴简单的介绍,就开始粗暴简单的入门,首先提供下源码下载和开发者必看的一些资料。

https://code.google.com/p/chromiumembedded/  代码,下载需要FQ

https://bitbucket.org/chromiumembedded/cef   wiki,能看懂英文的,最好过一遍

http://cefbuilds.com              编译好的工程以及代码,下载需要FQ

http://magpcss.org/ceforum/apidocs/      CEF API 文档

http://magpcss.org/ceforum/apidocs3/     CEF3 API 文档

http://magpcss.org/ceforum    英文论坛(框架的开发者经常在这里回答用户问题,论坛质量很高,不需要FQ。顺便鄙视下adobe的flash player开发者论坛,渣得要命,根本没有官方人员答疑)

国内用户除了以上这些,还有一些值得参考的博客和github资料

https://github.com/fanfeilong/cefutil/tree/master/doc    作者把一些主要的英文资料翻译成中文,为CEF3在国内的使用做出了很大的贡献。英文上比较吃力的可以看看这个。

http://blog.csdn.net/column/details/yongsheng.html  朱永盛的博客专栏,学习CEF3最好了解下chromium内核,有助于对代码框架、进程等了解。

https://github.com/fanfeilong/cefutil/blob/master/doc/CEF%20General%20Usage-zh-cn.md  CEF3常用案例,初学者必看

另外很重要的一个入门资料,就是cef3里的注释和示例cefclient里的注释,虽然是英文的,但简单易懂,静下心来看能获得事半功倍的效果。这些在http://cefbuilds.com里下载。

最后提示一些坑。诚然,任何东西都不可能十全十美,使用CEF3框架可能会遇到一些坑。参看:http://www.hufuman.biz/?p=162 。这个博客是2013年6月写的,到现在两年多了,CEF3也经历了N多个版本的更新。里边提到的大部分坑都已经填好,另外一些则根本算不上坑,比如安装包太大、不支持第三方协议、默认不支持F5。剩下算是坑的估计就只有Javascript弹出框大小不能自动调整了,其实这个也可以自己去解决。另外我再加一个坑提示,如果需要打开多个flash资源较大的页面(如视频、游戏等),flash插件会比较容易崩溃。至于打开多少个会flash插件崩溃,开发者可以自己去试。会不会有其他的坑,可以肯定的说:有,需要开发者自己去发现去解决。

CEF3开发者系列之CEF3入门的更多相关文章

  1. CEF3开发者系列之工程和代码结构

    CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去.它的设计思想就是易用且兼顾性能. CEF3支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去.它的 ...

  2. CEF3开发者系列之JS与C++交互之二

    本文翻译自JavaScriptIntegration (https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration).本 ...

  3. CEF3开发者系列之JS与C++交互之一

    JS与Native交互是相对于比较困难的技术,在学习这门技术之前,我们先了解下浏览器内核中的JS引擎与chromium内核的V8引擎相关知识.在浏览器应用中,JS与本地代码互相调用,得益于浏览器内核对 ...

  4. CEF3开发者系列之进程间消息传递

    在使用CEF3作为框架开发过程中,实现WebSockets.XMLHttpRequest.JS与本地客户端交互等功能时,需要在渲染(Render)进程和浏览(Browser)进程中传递消息.CEF3在 ...

  5. CEF3开发者系列之进程和线程

    CEF3是一个多进程架构框架,如果有了解过chromium的进程架构的,那么就很容易了解CEF3的多进程了.打开CEF3源代码中发布的cefclient实例,如果打开的页面带有flash或者其他插件. ...

  6. CEF3开发者系列之类和接口

    CEF3基本的框架包含C/C++程 序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和 Chromium&Webkit的操作细节.它在浏览器控件和宿主程序之间提供紧密的整合,它支持用户 ...

  7. CEF3开发者系列之Cookies管理和共享

    涉及网页登录相关的技术,Cookies肯定是忽略不了的.由于项目的需要,要做一个双核的产品.双核间切换会涉及到登录状态的问题,共享Cookies是一个很好的方案.既然涉及到共享cookies,那么读取 ...

  8. CEF3开发者系列之CefEnableHighDPISupport详解

    在CEF3中,CefEnableHighDPISupport()这个接口函数在使用时一般不为人所注意,但是如果稍有不慎,会造成打开的网页不能填满窗口的问题.如果是需要flash插件才能运行的游戏.则会 ...

  9. CEF3开发者系列之Cookies管理和共享<转>

    原帖地址:https://www.cnblogs.com/guolixiucai/p/6994559.html 涉及网页登录相关的技术,Cookies肯定是忽略不了的.由于项目的需要,要做一个双核的产 ...

随机推荐

  1. Java使用Jetty实现嵌入式Web服务器及Servlet容器

     Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty. ...

  2. 看懂理解 keyboard中 , navigation的设置: 切换工作区和移动窗口到不同的工作区.

    navigation中, 主要有两个方面的内容: 移动窗口到工作区 的shortcuts 切换工作区的shortcuts 首先清楚: 工作区workspace, fedora 23中 好像只有上下方向 ...

  3. Java字节流:InputStream OutputStream

    字节输入流:InputStream 类声明: public abstract class InputStream implements Closeable 位于java.io包下,是一个抽象类. 官方 ...

  4. FireBug调试工具笔记

         Firebug是网页浏览器 Mozilla Firefox下的一款开发类插件, 现属于Firefox的五星级强力推荐插件之一.它集HTML查看和编辑.Javascript控制台.网络状况监视 ...

  5. 如何在R中加载”xlsx”包

    1.下载安装对应系统位数的JDK包(Java SE Development Kit) 2.完成后,安装rJava包-low-level r to Java Interface install.pack ...

  6. 使用批处理(bat)脚本对目录树下同种性质的目录或文件进行处理

    问题起源:每次从svn管理的目录下面复制目录之后里面总是有很多.svn的目录,虽说不影响使用但看着很碍眼.同时自己也懒得使用svn的export功能. 因此一个简单的批处理脚本可以帮助我们搞定一切,当 ...

  7. C\C++ 字符串的格式化与类型转化

    字符串格式化 1.sscanf int sscanf(const char *buffer,const char *format,[argument ]...) 取到指定字符为止的字符串.如在下例中, ...

  8. 网络编程1-TCP编程(socket)

    1 如何实现网络中的主机相互通信 一定的规则,有两套参考模型 (1)osi参考模型,过于理想化,未能在互联网上推行 osi有七层 (2)tcp/ip参考模型,有四层,各层之间通过不同的网络协议传输数据 ...

  9. WebSocket帧数据 解码/转码

    数据从浏览器通过websocket发送给服务器的数据,是原始的帧数据,默认是被掩码处理过的,所以需要对其利用掩码进行解码. 从服务器发送给浏览器的数据是默认没有掩码处理的,只要符合一定结构就可以了.具 ...

  10. 比较两个数据库表table结构不同之处

    /*--比较两个数据库的表字段差异 hy 适用多种版本库 --*/ /*--调用示例 exec p_comparestructure 'database1','database2' --*/ ) dr ...