文章目录

  • 1.简介
  • 2.使用二进制SDK
  • 3.从源代码构建
  • 4.示例应用程序

1.简介

  Chromium Embedded Framework (CEF) 是一个基于Google Chromium 的开源项目项目。与 Chromium 项目本身主要侧重于 Google Chrome 应用程序开发不同,CEF 侧重于促进第三方应用程序中的嵌入式浏览器用例。CEF 通过提供生产质量稳定的 API、跟踪特定 Chromium 版本的发布分支和二进制分发,将用户与底层 Chromium 和 Blink 代码复杂性隔离开来。CEF 中的大多数功能都有默认实现,可提供丰富的功能,同时几乎不需要用户进行集成工作。截至本文发表时,全球已安装了超过 1 亿个 CEF 实例,这些实例嵌入到来自各种公司和行业的产品中。CEF 维基百科页面上提供了部分使用 CEF 的公司和产品列表. CEF 的一些用例包括:

  • 在现有的本机应用程序中嵌入符合 HTML5 的 Web 浏览器控件。
  • 创建轻量级本机“外壳”应用程序,该应用程序承载主要使用 Web 技术开发的用户界面。
  • 在具有自己的自定义绘图框架的应用程序中“离屏”呈现 Web 内容。
  • 充当对现有 Web 属性和应用程序进行自动化测试的主机。

  CEF3 是基于多进程Chromium Content API 的下一代 CEF 。CEF3 的多进程架构的优势包括:

  • 改进的性能和稳定性(JavaScript 和插件在单独的进程中运行)。
  • 支持 Retina 显示器。
  • 用于 WebGL 和 3D CSS 的 GPU 加速。
  • 很酷的新功能,如 WebRTC(网络摄像头支持)和语音输入。
  • 通过 DevTools 远程调试协议和ChromeDriver2实现更好的自动化 UI 测试。
  • 更快地访问当前和未来的 Web 功能和标准。

2.使用二进制SDK

  CEF3 的二进制分发版可从项目下载页面获得。它们包含在特定平台(Windows、MacOS 或 Linux)上构建特定版本的 CEF3 所需的所有文件。有关如何使用 CEF3 二进制分发版创建简单应用程序的详细说明,请参阅教程Wiki 页面。

  无论平台如何,所有二进制发行版都共享相同的通用结构:

  CMakeLists.txt提供CMake 配置,用于构建包含在二进制分发版中的测试应用程序。特定于平台的构建说明作为此文件顶部的注释提供。

  • Debug包含调试构建 CEF 共享库 (libcef) 和在平台上运行所需的任何其他库。
  • include包含所有必需的 CEF 头文件。
  • libcef_dll包含 libcef_dll_wrapper 静态库的源代码,所有使用 CEF C++ API 的应用程序都必须链接到该静态库。有关更多信息,请参阅“C++ 包装器”部分。
  • 发布包含一个发布构建 CEF 共享库 (libcef) 和在平台上运行所需的任何其他库。
  • 资源包含使用 CEF 的应用程序所需的资源(仅限 Windows 和 Linux)。这包括 .pak 文件(具有全局资源的二进制文件)和可能的其他文件,例如取决于平台。
  • tests/cefclient包含配置为使用二进制分发版中的文件构建的 cefclient 示例应用程序。此应用程序展示了广泛的 CEF 功能。
  • tests/cefsimple包含配置为使用二进制分发版中的文件构建的 cefsimple 示例应用程序。此应用程序演示了创建浏览器窗口所需的最少功能。
  • tests/ceftests包含配置为使用二进制分发版中的文件构建的 ceftests 示例应用程序。此应用程序为 CEF API 和功能提供单元测试覆盖。
  • 每个二进制发行版还包含一个 README.txt 文件,该文件更详细地描述了特定于平台的发行版,以及一个 LICENSE.txt 文件,其中包含 CEF 的 BSD 许可证。在分发基于 CEF 的应用程序时,您应该在应用程序分发的某处包含许可证文本。例如,您可以在应用程序 UI 或与应用程序捆绑的文档中的“关于”或“信用”页面上列出它。通过分别加载“about:license”和“about:credits”,也可以在 CEF3 浏览器窗口内获得许可证和信用信息。

  可以使用标准平台构建工具构建基于 CEF 二进制分发版的应用程序。这包括 Windows 上的 Visual Studio、MacOS 上的 Xcode 和 Linux 上的 gcc/make。项目下载页面包含有关特定二进制版本所需的操作系统和构建工具版本的信息。在 Linux 上构建时,还要特别注意列出的包依赖项。

3.从源代码构建

   CEF 可以从本地源代码构建,也可以使用TeamCity等自动构建系统构建。这需要通过 Git 下载 Chromium 和 CEF 源代码。Chromium 代码库非常大,仅建议在具有 8GB 以上 RAM 的中等功能机器上使用源代码构建 Chromium。BranchesAndBuilding Wiki 页面上提供了从源代码构建 Chromium 和 CEF 的详细说明。

4.示例应用程序

   cefclient 示例应用程序是 CEF 集成的完整工作示例,并包含在每个二进制分发版的源代码形式中。使用 CEF 创建新应用程序的最简单方法是从 cefclient 应用程序开始并删除不需要的部分。本文档中的许多示例源自 cefclient 应用程序。

  合理的脚本代码可以有效的提高工作效率,减少重复劳动。

libcef-常用概念-框架特点相关推荐

  1. 一文读懂常用日志框架(Log4j、SLF4J、Logback)有啥区别

    1.概述 相信目前大多数情况下,不管是开源框架或是平时我们工作编码中都离不开一种框架,它就是日志框架.因此本节就简单了解一下我们常用日志框架的区别. 2.Commons Logging common- ...

  2. Android专题-常用第三方框架

    Android专题-常用第三方框架 HTTP网络请求 带*号的是个人推荐比较好用的 HTTP网络请求 okhttp * :https://github.com/square/okhttp retrof ...

  3. 句法分析常用算法框架以及NLPIR、Dependency Viwer

    句法分析常用算法框架以及NLPIR.Dependency Viwer 目录 句法分析常用算法框架以及NLPIR.Dependency Viwer 句法分析框架 北京理工大学NLPIR

  4. SAP MM模块常用概念--供应商评价

    SAP MM模块常用概念--供应商评价 供应商评估功能能尽量优化采购操作,能简化选择货源过程.不断跟踪和考察现有的供应关系. 使用R/3供应商评估系统能保证更大的客观性,因为所有供货商以同一标准评估并 ...

  5. MyBatis日志到底是如何做到兼容所有常用日志框架的?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 双子孤狼 来源 | https://blog. ...

  6. 萌新发问:MyBatis日志到底是如何做到兼容所有常用日志框架的?

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐 19 个 github 超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:双子孤狼 bl ...

  7. Java常用日志框架介绍

    Java常用日志框架介绍 文章目录 Java常用日志框架介绍 日志接口和日志框架的区别 各个框架出现的时间线 桥接包 Log4j2 常用搭配 单独的log4j 使用JCL(commons-loggin ...

  8. 常用json框架介绍和Jackson返回结果处理

    常用json框架介绍和Jackson返回结果处理     简介:介绍常用json框架和注解的使用,自定义返回json结构和格式 1.常用框架 阿里 fastjson,谷歌gson等         J ...

  9. 【软件架构】软件架构设计常用概念、原则与思想

    导读 本文一文总结软件架构设计常用概念.原则与思想,包括面向对象六大原则,DID原则,ACID.CAP.BASE理论,中间层思想,缓存思想等. 软件架构设计常用概念.原则与思想 面向对象设计六大原则 ...

  10. 基于.NET平台常用的框架整理

    基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前 ...

最新文章

  1. 【java】实现数据在页面之间传输
  2. centos 日志审计_Linux\CentOS中auditd安全审计工具的使用
  3. 基于python的FFT频率和振幅处理
  4. 关于「Xception」和「DeepLab V3+」的那些事
  5. windows C++ 通过WMI获取底层信息
  6. 送书 | 数据分析如烹小鲜
  7. 错过了面试,公司招满人了_您可能错过了Google令人赞叹的AI公告。
  8. 本周两场直播丨PostgreSQL中的锁;数据库对象命名设计规范手册
  9. Ubuntu简单指令和热键的学习
  10. 计算机中DW用户名和域名,如何获取线程关联用户名和域名
  11. mysql08---优化01
  12. 用vb写计算机程序代码,用VB编写的抽奖程序源代码随机抽取不重复
  13. python 图像倾斜校正_通过OpenCV和Python进行文本倾斜校正
  14. Pr 电影中常见的回忆效果
  15. linux 分区100g整数,[转载]硬盘分区 整G 整数 法(从1g到200g最精确的整数分区)(转)...
  16. eXosip注册函数与使用说明
  17. 洛谷刷题笔记 地球人口承载力估计
  18. 渗透测试流程(基础理论)
  19. 被动与主动信息收集 | 系统性学习 | 无知的我费曼笔记
  20. 一份给艺术爱好者的书单

热门文章

  1. python程序设计基础课后答案-Python语言程序设计基础(第2版)嵩天课后答案
  2. [转]密码算法揭秘,一文让你成为国际安全算法与国密算法专家
  3. 某知名网络安全公司的渗透测试工程师面试题实战汇总
  4. Django系列16-员工管理系统实战--echar图表统计
  5. antdesign 新增页面_ant design pro 新增页面
  6. 转录组学分析之基因芯片的预处理
  7. win10系统ltsc和服务器版哪个好,win10哪个版本最稳定流畅
  8. 通用安防摄像机通过RTSP转RTMP推流进行H5(RTMP/HLS)直播的方案
  9. Oracle数据库之导入导出
  10. 敏感词屏蔽工具(DFA算法)