libcef-常用概念-框架特点
Chromium Embedded Framework (CEF) 是一个基于Google Chromium 的开源项目项目。与 Chromium 项目本身主要侧重于 Google Chrome 应用程序开发不同,CEF 侧重于促进第三方应用程序中的嵌入式浏览器用例。CEF 通过提供生产质量稳定的 API、跟踪特定 Chromium 版本的发布分支和二进制分发,将用户与底层 Chromium
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 应用程序。
合理的脚本代码可以有效的提高工作效率,减少重复劳动。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)