# Understanding the Chromium Embedded Framework: A Study Guide
Written on
Chapter 1: Introduction to CEF
The Chromium Embedded Framework (CEF) is an open-source software framework designed for integrating a Chromium web browser into other applications. By utilizing CEF, developers can seamlessly incorporate web browsing capabilities into their applications, allowing for the use of HTML, CSS, and JavaScript to construct user interfaces or parts of them.
CEF operates across multiple platforms, including Linux, macOS, and Windows, and supports various programming languages, such as C, C++, Go, Java, and Python.
Section 1.1: Versions of CEF
CEF exists in two primary versions: CEF 1 and CEF 3. The development of CEF 2 was halted following the introduction of the Chromium Content API.
Subsection 1.1.1: CEF 1 Overview
CEF 1 features a single-process architecture based on the Chromium WebKit API. It is no longer being actively developed or supported.
Section 1.2: CEF 3 Overview
In contrast, CEF 3 employs a multi-process architecture grounded in the Chromium Content API, offering performance comparable to Google Chrome. It utilizes asynchronous messaging for communication between the main application process and one or more render processes (including Blink and the V8 JavaScript engine). Additionally, CEF 3 supports PPAPI plugins and extensions, including internal components like a PDF viewer and externally loadable options. Although a single-process mode exists, it is primarily utilized for debugging purposes.
Chapter 2: Recent Updates and Documentation
On March 16, 2019, the method for version numbering changed with the release of CEF 73.1.3+g46cf800+chromium-73.0.3683.75. The prior version, released on March 14, 2019, was CEF 3.3683.1920.g9f41a27. Both versions are based on Chromium 73.0.3683.75, but the new numbering system aligns the major version number of CEF with that of the corresponding Chromium version, making it easier to identify the base Chromium version used.
CEF includes a sample application named CefClient, developed in C++ using platform-specific APIs such as WinAPI, Cocoa, or GTK, which demonstrates various features. Newer iterations also provide a simpler application called CefSimple, accompanied by a tutorial on creating basic applications utilizing CEF 3. Documentation for CEF can be found in header files within the "include" directory and on various wiki pages.
Spotify actively maintains both development and stable build branches of CEF for Linux, Mac, and Windows in both 32-bit and 64-bit formats. Notably, the Spotify Desktop client utilizes CEF.
Section 2.1: Use Cases for CEF
Several applications leveraging CEF have caught my attention, including:
- Adobe Brackets – A code editor.
- Evernote – A note-taking application.
- Spotify – A music streaming service.
Conclusion
This article provided a Japanese translation and overview of the Chromium Embedded Framework (CEF) based on its Wikipedia entry. If you notice any inaccuracies or have suggestions, please leave a comment. I look forward to exploring CEF further. Thank you for reading!