Chromium Embedded Framework Explained
Chromium Embedded Framework |
Developer: | Marshall Greenblatt |
Latest Release Version: | 127.0.20 (g1567840, Chromium 127.0.6533.57)[1] [2] |
Programming Language: | C++ |
Genre: | Framework, Web browser |
License: | BSD |
The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface (or just portions of it).
CEF runs on Linux, macOS, and Windows. It has many language bindings including C, C++, Go, Java, and Python.
Overview
There are two versions of Chromium Embedded Framework: CEF 1 and CEF 3.[3] Development of CEF 2 was abandoned after the appearance of the Chromium Content API.[4]
CEF 1 is a single-process implementation based on the Chromium WebKit API. It is no longer actively developed or supported.[5]
CEF 3 is a multi-process implementation based on the Chromium Content API and has performance similar to Google Chrome.[6] It uses asynchronous messaging to communicate between the main application process and one or more render processes (Blink + V8 JavaScript engine). As of July of 2022, it no longer supports PPAPI plugins due to removal of PPAPI, legacy Chrome Apps, and Native Client (NaCl) support from the upstream Chromium project.[7] PDF viewer support from Chromium's PDFium PDF viewer is still supported though. The single-process run mode is not supported, but still present; currently is being used for debugging purposes only.[8]
On March 16, 2019, the CEF version numbering changed with the release of CEF 73.1.3+g46cf800+chromium-73.0.3683.75. The previous release on March 14, 2019 was CEF 3.3683.1920.g9f41a27. Both of these releases were based on Chromium 73.0.3683.75, however the new version numbering has the major number the same as the Chromium major version number it is based on.
CEF comes with a sample application called CefClient that is written in C++ using WinAPI, Cocoa, or GTK (depending on the platform) and contains demos of various features.[9] [10] Newer versions include a sample application called CefSimple that, along with an accompanying tutorial, show how to create a simple application using CEF 3.[11]
Documentation can be found in the header files located in the "include" directory[12] [13] and on wiki pages.[14]
Supported languages
The base CEF framework includes support for the C and C++ programming languages, but there are external projects that provide bindings for other languages:
- Delphi (CEF1) – DCEF 1[15]
- Delphi (CEF3) – DCEF 3[16]
- Delphi (CEF3) – CEF4Delphi[17]
- Delphi (CEF3) – WebKitX CEF3 ActiveX
- Dyalog APL (CEF3) – HTMLRenderer[18]
- Free Pascal (CEF3) - fpCEF3[19]
- Go (CEF3) – CEF2go[20]
- Java (CEF3) – Java Chromium Embedded[21]
- .NET (CEF1, CEF3) – CefSharp[22]
- .NET (CEF1) – CefGlue[23]
- .NET/Mono (CEF3) – Xilium.CefGlue[24]
- .NET (CEF3) – ChromiumFX[25]
- .NET (CEF3) – WebKitX CEF3 ActiveX
- Python (CEF1, CEF3) – CEF Python[26]
- Swift (CEF3) – CEF.swift[27]
- Visual Basic 6 (CEF3) – WebKitX CEF3 ActiveX[28]
- Visual FoxPro (CEF3) – WebKitX CEF3 ActiveX
- PowerBuilder (CEF3) – WebKitX CEF3 ActiveX
- Ruby (via the 'win32ole' library) (CEF3) – WebKitX CEF3 ActiveX
- Visual Basic for Applications 2003/2007/2010/2015/2016 (VBA, Access, Excel) (CEF3) – WebKitX CEF3 ActiveX
- Microsoft Visual Studio .NET 2010/2015/2017 (VB.Net, C#, C++, 32-bit and 64-bit) (CEF3) – WebKitX CEF3 ActiveX
- Xojo (for Windows apps, 32-bit and 64-bit) (CEF3) – WebKitX CEF3 ActiveX
- Qt (any Windows version, only for 32-bit) (CEF3) – WebKitX CEF3 ActiveX
- CodeTyphon Studio -package pl_CEF
- Embarcadero RAD Studio (VCL C++) (CEF3) - WebKitX CEF3 ActiveX
- Broadcom CA PLEX (VBScript / C++) (CEF3) - WebKitX CEF3 ActiveX
- YallFramework (YS /WS) (FF213 - WevKitX CEF57 ActiveX)
Applications using CEF
See also
Notes and References
- Web site: CEF3 WIKI Current Releases Supported.
- Web site: CEF Automated Builds.
- Web site: Versions – Overview of the CEF architecture..
- Web site: Content API – The Chromium Projects.
- Web site: CEF1 Retirement Plan.
- Web site: CEF 3 Architecture – CEF wiki pages.
- Web site: Changes to the Chrome App Support Timeline . 2024-04-22 . Chromium Blog . en.
- Web site: Single process – Process Models- The Chromium Projects.
- Web site: CEF Git: 1364/cef1/tests/cefclient/.
- Web site: CEF Git: master/tests/cefclient/.
- Web site: CefSimple Tutorial.
- Web site: CEF Git: /1364/cef1/include/.
- Web site: CEF Git: /master/include/.
- Web site: CEF Wiki Pages.
- Web site: delphichromiumembedded – Delphi Chromium Embedded – Google Project Hosting . 2012-12-26.
- Web site: dcef3 – Delphi Chromium Embedded 3 – Google Project Hosting . 2012-12-26.
- Web site: GitHub - salvadordf/CEF4Delphi: CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi.. github.com. 25 February 2017. en.
- Web site: HTMLRenderer User Guide. dyalog.com. 1 August 2019. en.
- Web site: Chromium Embedded Framework for Free Pascal. GitHub. 2017-01-31.
- Web site: HTML 5 based GUI toolkit for the Go language . . 2014-02-06.
- Web site: javachromiumembedded – Java Wrapper for the Chromium Embedded Framework (CEF).
- Web site: chillitom/CefSharp · GitHub . Github.com . 2012-12-26.
- Web site: fddima / CefGlue / wiki / Home — Bitbucket . Bitbucket.org . 2012-08-21 . 2012-12-26.
- Web site: xilium / Xilium.CefGlue / wiki / Home — Bitbucket . Bitbucket.org . 2012-10-10 . 2012-12-26 .
- Web site: ChromiumFX – .NET bindings for the Chromium Embedded Framework (CEF) . 2015-03-21 . 2019-02-20 . https://web.archive.org/web/20190220042117/https://bitbucket.org/chromiumfx/chromiumfx . dead .
- Web site: cefpython – Python bindings for Chrome / Chromium Embedded Framework (CEF) – Google Project Hosting . 2012-12-26.
- Web site: CEF.swift – Swift bindings for the Chromium Embedded Framework (CEF). GitHub. 6 December 2021.
- Web site: WebKitX CEF3 ActiveX – Visual Studio 2015 C++11 MFC/ATL ActiveX for VB6.
- Web site: Adobe using Google Chromium Embedded Framework for Edge tools Tim Anderson's IT Writing . 27 September 2012 . 2022-12-02 . en-US.
- Web site: CEF integration in Dreamweaver.
- Web site: Bitdefender Total Security.
- Web site: Eve Launcher – Evelopedia. 4 March 2013. https://web.archive.org/web/20150528033619/https://wiki.eveonline.com/en/wiki/EVE_Launcher. 28 May 2015. dead.
- Web site: The Architecture of the League Client Update. Riot Games Engineering. 21 March 2017.
- Web site: How To Add a Web Browser to Your App. LiveCode. 10 November 2015.
- Web site: Microsoft PowerBI. Microsoft. 22 February 2019.
- Web site: Help us test the new Minecraft launcher! Check the comments for instructions. • /r/Minecraft. reddit. 2016-10-25.
- Web site: Second Life 4.0.0.305703 Release Notes. 25 October 2015 . 7 April 2016.
- Web site: Sling TV – Watch Live TV Programming Anytime and Anywhere. 27 August 2015.
- Web site: Open Source @ Spotify. 2 March 2016.
- Web site: Chromium Embedded Framework . developer.valvesoftware.com. Last edited on 15 June 2023 . 27 July 2023.
- Web site: Derivative WebRender TOP Documentation. 2 December 2022.