Chromium Embedded Framework
![]() | |
Developer(s) | Marshall Greenblatt |
---|---|
Initial release | June 1, 2009 |
Stable release | 3.2623
/ April 6, 2016 |
Repository | |
Written in | C++ |
Operating system | Windows Linux Mac OS X |
Type | Framework, Web browser |
License | New BSD License (see BSD licenses) |
Website | bitbucket |
The Chromium Embedded Framework (CEF) is an open source framework for embedding a web browser engine based on the Chromium core. It is a convenient way to add web browser control and implement an HTML5-based layout GUI in a desktop application or to provide web browser capabilities to a software application or game, and provides the infrastructure developers need to quickly add HTML rendering and JavaScript to a C++ project. It also comes with bindings for C, C++, Delphi, Go, Java, .NET / Mono, Python and runs on Linux, Mac OS X and Windows.
Overview
There are two versions of Chromium Embedded Framework: CEF 1 and CEF 3.[1] Development of CEF 2 was abandoned after the appearance of the Chromium Content API.[2]
CEF 1 is a single-process implementation based on the Chromium WebKit API. It is no longer actively developed or supported.[3]
CEF 3 is a multi-process implementation based on the Chromium Content API and has performance similar to Google Chrome.[4] It uses asynchronous messaging to communicate between the main application process and one or more render processes (Blink + V8 JavaScript engine). It supports both NPAPI & PPAPI plugins, although NPAPI is deprecated and disabled by default in first 2015 versions (legacy support enabling available using --enable-npapi command line argument); latest versions removes NPAPI completely. A single-process run mode is supported for debugging purposes only.[5]
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.[6][7] Newer versions include a sample application called CefSimple that, along with an accompanying tutorial, show how to create a simple application using CEF 3.[8]
Documentation can be found in the header files located in the "include" directory[9][10] and on wiki pages.[11]
Adobe Web Engine Team maintains development and stable branches builds for Linux, Mac and Windows in 32- and 64-bit forms.
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[12]
- Delphi (CEF3) – DCEF 3[13]
- Go (CEF3) – CEF2go[14]
- Java (CEF3) – Java Chromium Embedded[15]
- .NET (CEF1, CEF3) – CefSharp[16]
- .NET (CEF1) – CefGlue[17]
- .NET/Mono (CEF3) – Xilium.CefGlue[18]
- .NET (CEF3) – ChromiumFX[19]
- Python (CEF1, CEF3) – CEF Python[20]
- Swift (CEF3) – CEF.swift[21]
Applications using CEF
References
- ^ "Versions – Overview of the CEF architecture".
- ^ "Content API – The Chromium Projects".
- ^ "CEF1 Retirement Plan".
- ^ "CEF 3 Architecture – CEF wiki pages".
- ^ "Single process – Process Models- The Chromium Projects".
- ^ "CEF Git: 1364/cef1/tests/cefclient/".
- ^ "CEF Git: master/tests/cefclient/".
- ^ "CefSimple Tutorial".
- ^ "CEF Git: /1364/cef1/include/".
- ^ "CEF Git: /master/include/".
- ^ "CEF Wiki Pages".
- ^ "delphichromiumembedded – Delphi Chromium Embedded – Google Project Hosting". code.google.com. Retrieved 2012-12-26.
- ^ "dcef3 – Delphi Chromium Embedded 3 – Google Project Hosting". Code.google.com. Retrieved 2012-12-26.
- ^ "HTML 5 based GUI toolkit for the Go language". Retrieved 2014-02-06.
- ^ "javachromiumembedded – Java Wrapper for the Chromium Embedded Framework (CEF)".
- ^ "chillitom/CefSharp · GitHub". Github.com. Retrieved 2012-12-26.
- ^ "fddima / CefGlue / wiki / Home — Bitbucket". Bitbucket.org. 2012-08-21. Retrieved 2012-12-26.
- ^ "xilium / Xilium.CefGlue / wiki / Home — Bitbucket". Bitbucket.org. 2012-10-10. Retrieved 2012-12-26.
- ^ "ChromiumFX – .NET bindings for the Chromium Embedded Framework (CEF)".
- ^ "cefpython – Python bindings for Chrome / Chromium Embedded Framework (CEF) – Google Project Hosting". Code.google.com. Retrieved 2012-12-26.
- ^ "CEF.swift – Swift bindings for the Chromium Embedded Framework (CEF)".
- ^ "AppJS".
- ^ "Cubiez". Retrieved 4 March 2013.
- ^ "Eve Launcher – Evelopedia". Retrieved 4 March 2013.
- ^ "ExeOutput for PHP". Retrieved 4 March 2013.
- ^ "Janetter". Retrieved 4 March 2013.
- ^ "Key4Two – i-Patrol Technology LLC". Retrieved 9 November 2014.
- ^ "mChef – mIRC browser plugin". Retrieved 4 March 2013.
- ^ "SAPO MEO Music". Retrieved 22 October 2013.
- ^ "MetaVR". Retrieved 4 March 2013.
- ^ "MTG Studio". Retrieved 4 March 2013.
- ^ "OpenSpace3D". Retrieved 4 March 2013.
- ^ "PHPDesktop".
- ^ "Quobuz Desktop". Retrieved 4 March 2013.
- ^ "Second Life 4.0.0.305703 Release Notes". Retrieved 7 April 2016.
- ^ "Sling TV – Watch Live TV Programming Anytime and Anywhere". Retrieved 27 August 2015.
- ^ "Open Source @ Spotify". Retrieved 2 March 2016.
- ^ "Telebreeze".
- ^ "WBEA Desktop". Retrieved 4 March 2013.