third_party_cef:基于 Chromium 的嵌入式浏览器框架项目

Archived

暂无描述

Branch106Tags32

Chromium 嵌入式框架(CEF)是一个简洁的框架,用于在其他应用程序中嵌入基于 Chromium 的浏览器。

快速链接

简介

CEF 是一个基于 BSD 许可的开源项目,由 Marshall Greenblatt 于 2008 年创立,并基于 Google Chromium 项目。与主要关注 Google Chrome 应用程序开发的 Chromium 项目本身不同,CEF 专注于促进第三方应用程序中的嵌入式浏览器用例。CEF 通过提供生产质量稳定的 API、跟踪特定 Chromium 版本的发布分支以及二进制发行版,将用户与底层 Chromium 和 Blink 代码的复杂性隔离开来。CEF 中的大多数功能都提供了默认实现,这些实现在提供丰富功能的同时,用户需要做很少或不需要任何集成工作。目前全球有超过一亿个 CEF 实例被嵌入到各种公司和行业的众多产品中。使用 CEF 的公司和产品的部分列表可在 CEF 维基百科页面上找到。CEF 的一些用例包括:

  • 在现有的原生应用程序中嵌入 HTML5 兼容的 Web 浏览器控件。
  • 创建轻量级原生“外壳”应用程序,以托管主要使用 Web 技术开发的用户界面。
  • 在具有自定义绘图框架的应用程序中“离屏”渲染 Web 内容。
  • 作为现有 Web 资产和应用程序自动测试的主机。

CEF 支持广泛的编程语言和操作系统,并且可以轻松地集成到新应用程序和现有应用程序中。它从一开始就被设计为既注重性能又易于使用。基础框架包括通过原生库暴露的 C 和 C++ 编程接口,以隔离主机应用程序与 Chromium 和 Blink 实现细节。它提供了浏览器和主机应用程序之间的紧密集成,包括支持自定义插件、协议、JavaScript 对象和 JavaScript 扩展。主机应用程序可以选择性地控制资源加载、导航、上下文菜单、打印等,同时利用 Google Chrome Web 浏览器中相同的性能和 HTML5 技术。

许多个人和组织投入时间和资源来支持 CEF 开发,但社区进一步的参与总是受欢迎的。这包括对核心 CEF 项目以及将 CEF 与其他编程语言和框架集成的外部项目的支持(见下文的“外部项目”部分)。如果您有兴趣捐赠时间来帮助 CEF 开发,请参见下文的“提供帮助”部分。如果您有兴趣捐赠资金以支持 CEF 开发和基础设施工作,请访问 CEF 捐赠页面。

开始使用

对 CEF 开发新手,应先阅读 教程 Wiki 页面以了解 CEF 用法概览,然后进入 常规用法 Wiki 页面进行更深入的架构和用法讨论。完整的 API 文档可在 此处 找到。CEF 支持及相关讨论可在 CEF 论坛 找到。

二进制发行版

包含构建 CEF 基础应用程序所需所有文件的二进制发行版可在 下载 页面找到。二进制发行版是独立的,不需要下载 CEF 或 Chromium 源代码。调试二进制发行版中 libcef 的符号文件也可以从上述链接下载。

源代码发行版

CEF 项目是 Chromium 项目的扩展。CEF 维护开发和发布分支,跟踪 Chromium 分支。CEF 源代码可以手动或通过自动化工具下载、构建和打包。访问 分支与构建 Wiki 页面了解更多信息。

外部项目

基础 CEF 框架支持 C 和 C++ 编程语言。得益于外部维护者的辛勤工作,CEF 可以与许多其他编程语言和框架集成。这些外部项目不由 CEF 维护,如果您有任何问题或问题,请联系各自项目的维护者。

如果您是未在上列出的项目的维护者,并希望您的项目列在此处,请在 CEF 论坛 发帖或直接联系 Marshall。

提供帮助

CEF 仍在积极开发中。以下是一些您可以提供帮助的方式:

  • CEF 问题跟踪器 为您认为重要的问题投票。这有助于开发优先级排序。

  • 报告您发现的任何错误或您认为重要的功能请求。在创建新问题之前,请先搜索现有问题。请使用 CEF 论坛 而不是问题跟踪器提出使用问题。每个 CEF 问题应:

    • 包括 CEF 修订版或二进制发行版版本。
    • 包括关于您的操作系统和编译器版本的信息。
    • 如果问题是错误,请提供详细的复现信息。
    • 如果问题是功能,请描述该功能的好处。
  • 为新功能或现有功能编写单元测试。

  • 欢迎提供拉动请求和修补程序。在 CEF 问题跟踪器 查看开放问题或搜索源代码中的 TODO(cef) 以获取想法。

如果您想要为 CEF 贡献源代码更改,请遵循以下准则:

  • 为每个不同的错误、功能或更改创建或找到适当的 issue。

  • 提交一个 拉动请求 或创建一个包含您的更改的修补程序并将其附加到 CEF issue。更改应:

    • 针对当前的 CEF 主分支,除非明确修复 CEF 发布分支中的错误。
    • 遵循现有 CEF 源文件的风格。通常 CEF 使用 Chromium 编码风格
    • 包含适用于功能的新或修改过的单元测试。
    • 不要包含不必要或无关的更改。

Introduction

暂无描述

Customize my domain