关于CEF  Chromium Embedded Framework 简单说就是  WebKit内核的 对外绑定。

当前主流浏览器内核

  1. 一、Trident内核代表产品Internet Explorer,又称其为IE内核。Trident(又称为MSHTML),是微软开发的一种排版引擎。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。

  2.  

    二、Gecko内核代表作品Mozilla FirefoxGecko是一套开放源代码的、以C++编写的网页排版引擎。Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9。

  3.  

    三、WebKit内核代表作品Safari、Chromewebkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。主要代表作品有Safari和Google的浏览器Chrome。

虽然  win 10后 ,微软开发了 edge  这个兼容 Trident webkit  ,但是不得不说,WebKit内核真快!

webkit 早起于苹果公司的safari .苹果把webkit 开放出去后,谷歌 把这东东优化了,还把自己家的V8引擎集成到自己的浏览器里了。。谷歌浏览器,速度真快。

WebKit is the web browser engine used by Safari, App Store, and many other OS X, iOS, and Linux applications. Web developers can stay updated on feature supportfollow development on the blog,

浏览器对于web应用起到了决定性的作用。微软捆绑自己操作系统。。自带IE 。。。。不仅慢 卡顿假死 响应慢 兼容差 迭代慢..........一堆问题。谷歌浏览器迅速占领了一部分市场。

把 Chrome 的内核嵌入到桌面程序 ,混合式的开发,越来越常见。

1 基于微软的Web 交互 mshtml 提供了COM接口。但是 卡的要命,兼容差。老版本的上个淘宝都不行........

2 基于其他浏览器内核的 主要是webkit的绑定。提供对其他开发语言的支持。CEF wekit.net 等

3 NW.JS ,这个集成了 node.js 和webkit内核的东东,可以使用html  js 开发本地应用。最新版本的饿了么上家客户端 就是这个技术。

看具体场景,选择合适的技术。

我们先说 CEF 3。。。。。

其实就是libcef

libcef 
Chromium嵌入式框架对于嵌入chromium浏览器的其他应用程序来说是一个简单的框架。。其遵循建立于2008年Marshall Greenblatt 的BSD许可协议。基于Google Chromium工程。不像Chromium工程本身,主要集中开发Google Chrome应用程序,CEF聚焦于使用第三方嵌入浏览器的应用程序, 通过提供稳定的API,CEF将chromium底层以及复杂的Blink代码隔离开来,分支发布紧跟chromium发布,以及二进制发布。大多数CEF的特性都有默认的实现,其功能了丰富的功能,较少甚至没有集成工作需要去做。目前全球有超过1亿CEF运行实例,其嵌入在广泛公司和企业的嵌入式产品中。

下载代码

https://bitbucket.org/chromiumembedded/cef/downloads/?tab=branches

从上面的官方站点 下载合适版本的代码

注意:分支 2623 是支持XP的最后一个分支。以后都是不支持XP的。

开始配置编译环境:参考:http://blog.csdn.net/wangshubo1989/article/details/50167045

http://www.cnblogs.com/visio/p/6295451.html

Using CMake 
Starting with 2171 branch the CEF3 sample applications can be built using CMake, a cross-platform open-source build system that can generate project files in many different formats. See the comments at the top of the CMakeLists.txt file included with the binary distribution for platform-specific CMake usage instructions.

这个时候,需要下载CMake了,这是什么鬼? 
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。 
下载地址: 
https://cmake.org/

下载后安装,没有什么特别的地方。

接下来就是使用cmake了: 

Browse Source选择刚刚解压的libcef文件夹,最外面的奥!! 
Browse Build选择要把生成的工程放在哪里。 
点击Generate,然后选择现在使用的VS版本,就可完成。 

接下来就可以打开cef.sln了,然后可以运行里面的例子。

The Chromium Embedded Framework (CEF) is a simple framework for embedding Chromium-based browsers in other applications. This repository hosts a sample project called "cef-project" that can be used as the starting point for third-party applications built using CEF.

Quick Links

Setup

First install some necessary tools and download the cef-project source code.

1. Install CMake, a cross-platform open-source build system. Version 2.8.12.1 or newer is required.

2. Install Python. Version 2.x is required. If Python is not installed to the default location you can set the PYTHON_EXECUTABLE environment variable before running CMake (watch for errors during the CMake generation step below).

3. Install platform-specific build tools.

  • Linux: Currently supported distributions include Debian Wheezy, Ubuntu Precise, and related. Ubuntu 14.04 64-bit is recommended. Newer versions will likely also work but may not have been tested. Required packages include: build-essential, libgtk2.0-dev, libgtkglext1-dev.
  • macOS: Xcode 6 or newer building on macOS 10.9 (Mavericks) or newer is required. Xcode 8.3 and macOS 10.12 (Sierra) are recommended. The Xcode command-line tools must also be installed. Only 64-bit builds are supported on macOS.
  • Windows: Visual Studio 2013 or newer building on Windows 7 or newer is required. Visual Studio 2015 Update 3 and Windows 10 64-bit are recommended.

4. Download the cef-project source code from the Downloads page or by using Git command-line tools:

git clone https://bitbucket.org/chromiumembedded/cef-project.git

Build

Now run CMake which will download the CEF binary distribution from the Spotify automated builder and generate build files for your platform. Then build using platform build tools. For example, using the most recent tool versions on each platform:

cd /path/to/cef-project

# Create and enter the build directory.
mkdir build
cd build # To perform a Linux build using a 32-bit CEF binary distribution on a 32-bit
# Linux platform or a 64-bit CEF binary distribution on a 64-bit Linux platform:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make -j4 cefclient cefsimple # To perform a macOS build using a 64-bit CEF binary distribution:
cmake -G "Xcode" ..
# Then, open build\cef.xcodeproj in Xcode and select Product > Build. # To perform a Windows build using a 32-bit CEF binary distribution:
cmake -G "Visual Studio 14" ..
# Then, open build\cef.sln in Visual Studio 2015 and select Build > Build Solution. # To perform a Windows build using a 64-bit CEF binary distribution:
cmake -G "Visual Studio 14 Win64" ..
# Then, open build\cef.sln in Visual Studio 2015 and select Build > Build Solution.

CMake supports different generators on each platform. Run cmake --help to list all supported generators. Generators that have been tested with CEF include:

  • Linux: Ninja, Unix Makefiles
  • macOS: Ninja, Xcode 6+
  • Windows: Ninja, Visual Studio 2013+

Ninja is a cross-platform open-source tool for running fast builds using pre-installed platform toolchains (GNU, clang, Xcode or MSVC). See comments in the "third_party/cef/cef_binary_*/CMakeLists.txt" file for Ninja usage instructions.

Next Steps

Here are some activities you might want to try next to gain a better understanding of CEF:

1. Update the CEF version used to build your local copy of cef-project:

2. Add your own project source code:

  • Create a new "myproject" directory in the root cef-project directory (e.g. "/path/to/cef-project/myproject").
  • Copy the contents of the "third_party/cef/cef_binary_*/cefsimple" directory to "myproject" as a starting point.
  • Add a new add_subdirectory(myproject) command near the end of top-level CMakeLists.txt file after the existing add_subdirectory commands.
  • Change the "CEF_TARGET" and "CEF_HELPER_TARGET" values in "myproject/CMakeLists.txt" from "cefsimple" to "myproject".
  • (Windows only) Rename the "cefclient.exe.manifest" file to "myproject.exe.manifest" in both "myproject/CMakeLists.txt" and the "myproject" directory.
  • Re-run the cmake and build commands.

3. Gain a better understanding of the cefsimple application by reading the Tutorial Wiki page.

4. Fork the cef-project repository using Bitbucket and Git to store the source code for your own CEF-based project. See the ContributingWithGit Wiki page for details (replace all instances of "cef" with "cef-project" in those instructions).

5. Review the GeneralUsage Wiki page for additional details on CEF implementation and usage.

Support and Contributions

If you have any questions about CEF or cef-project please ask on the CEF Forum. If you would like to make contributions please see the "Helping Out" section of the CEF Main Page.

【WebKit内核 CEF3 】 第一篇:下载分支代码并本地编译的更多相关文章

  1. git clone新项目后如何拉取其他分支代码到本地

    1.git clone git@git.n.xxx.com:xxx/xxx.git 2.git fetch origin dev 命令来把远程dev分支拉到本地 - - 解读:git fetch命令用 ...

  2. git clone新项目后如何拉取分支代码到本地

    1.git clone git@git.n.xxx.com:xxx/xxx.git 2.git fetch origin dev    命令来把远程dev分支拉到本地 3.checkout -b de ...

  3. C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 今天讲讲如 ...

  4. 第一篇 -- 下载并安装IDEA

    此篇讲的是安装IDEA企业版,社区版是免费的,就不多说了. 参考链接:https://www.exception.site/essay/how-to-free-use-intellij-idea-20 ...

  5. github下载项目代码到本地,不能运行 本地改完代码 再上传

    首先用git bash here,在指定目录下执行, git clone 将项目拉取下来, 试运行: 发现需要配置idea的SDK/jdk, 还要选择language level, 建立输出目录tar ...

  6. Python unittest第一篇:基础入门+命令行编译

    unittest单元测试框架最初受JUnit启发,与其他语言的主要单元测试框架具有相似的风格. 它支持测试自动化,支持开启或关闭某个测试,支持结合测试.另外它可以生成各个单元测试的报告.为了实现以上功 ...

  7. Git使用之二:下载远程代码到本地指定文件夹

    一.前期工作: 1.准备好本地的文件夹 2.如果后期需要继续以该文件夹进行同步的,则需要配置该文件夹,方法请参考之前的  Git使用之一:创建仓储和提交文件 二.用clone(克隆方式下载) 在本地下 ...

  8. github下载更新代码到本地

    git remote -v git fetch origin master git log -p  master.. origin/master 如果本地已修改需要 git stash git mer ...

  9. Notepad++-第一篇命令行语句执行之编译、运行Java

    1.让Notepad++编译和运行Java,在电脑上要已经配置好了Java的开发环境 2.在Notepad++上面的选项栏中找到 Plugins--->Plugin Admin 3.在Avail ...

随机推荐

  1. FT项目开发技术点(三)

    1.eclipse中开发的web项目怎么放到tomcat中? 记得开始学习Java Web的时候,首先用的是Eclipse开发,但是有一个问题始终没有弄明白,做好的Web项目是如何发布到Tomcat服 ...

  2. centos安装sqlserver

    centos安装sqlserver 必要條件 您必须具有 RHEL 7.3 或 7.4 计算机至少 2 GB的内存. 若要在自己的计算机上安装 Red Hat Enterprise Linux,请转到 ...

  3. redhat/centos使用service控制启动与关闭

    原文地址: http://guodong810.blog.51cto.com/4046313/1285353 有时,我们自己安装了某个软件时,想让对这个服务更加容易的控制,在redhat/centos ...

  4. 【xshell】xshell设置快捷键 设置Ctrl+C Ctrl+V快捷键为复制粘贴

    在使用xshell的时候,总是不能顺手的进行复制粘贴的操作. 那能不能设置xhsell的快捷键呢? 点击工具--->选项---> 选择 键盘和鼠标 选项卡--->点击编辑----&g ...

  5. Java-JDBC调用批处理、存储过程、事务

    一.使用Batch批量处理数据库  当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率.; 1.实现批处理有两种方式,第一种方式: S ...

  6. TF卡和SD卡的区别

    小型存储设备凭借低廉的价格.多样化的品种.实用等特性大量充斥在大家身边,比如智能手机手机上.数码照相机上.游戏机上(一般是掌机)等都小型电子设备都频繁的使用到这种统称为SD的产品,比如TF卡和SD卡( ...

  7. 【C++ Primer】用于大型程序的工具

    1. 异常处理 异常以类似于将实參传递给函数的方式抛出和捕获.异常可以是可传给非引用实參的随意实參的类型,这意味着必须可以复制该类型的对象. 当抛出一个表达式的时候,被抛出对象的静态编译时类型将决定异 ...

  8. 上下变换中 aspect的选择

    在电视制作还没有完全整转到高清之前,有很多原来的SD素材需要转到HD信号进入高清切换或者编辑平台,电视台是电视节目的发射源端 ,所以上变换过程不能引入额外的噪声或者失真: 上变换使用的方式一般有4种: ...

  9. Hello World with Ant

    都说Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Unix程序员. 而在一说到Ant的时候,很多人就把这两个的功能对比来 ...

  10. 局域网Cesium离线影像及瓦片影像地图加载【转】

    http://www.mamicode.com/info-detail-2161992.html 1.Cesium简介 优点: cesium展示地图数据效果比较好,解析2D地图各种不同服务类型的数据源 ...