Chromium Embedded Framework
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).
Developer(s) | Marshall Greenblatt |
---|---|
Initial release | June 1, 2009 |
Stable release | 78.3.9+gc7345f2+chromium-78.0.3904.108[1]
/ November 27, 2019 |
Repository | |
Written in | C++ |
Operating system | |
Type | Framework, Web browser |
License | BSD |
Website | bitbucket |
CEF runs on Linux, macOS, and Windows. It has many language bindings including C, C++, C#, Go, Java, and Python.
Overview
There are two versions of Chromium Embedded Framework: CEF 1 and CEF 3.[2] Development of CEF 2 was abandoned after the appearance of the Chromium Content API.[3]
CEF 1 is a single-process implementation based on the Chromium WebKit API. It is no longer actively developed or supported.[4]
CEF 3 is a multi-process implementation based on the Chromium Content API and has performance similar to Google Chrome.[5] It uses asynchronous messaging to communicate between the main application process and one or more render processes (Blink + V8 JavaScript engine). It supports PPAPI plugins and extensions, both internal (PDF viewer) or externally loadable. The single-process run mode is not supported, but still present; currently is being used for debugging purposes only.[6]
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.[7][8] Newer versions include a sample application called CefSimple that, along with an accompanying tutorial, show how to create a simple application using CEF 3.[9]
Documentation can be found in the header files located in the "include" directory[10][11] and on wiki pages.[12]
Spotify 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[13]
- Delphi (CEF3) – DCEF 3[14]
- Delphi (CEF3) – CEF4Delphi[15]
- Delphi (CEF3) – WebKitX CEF3 ActiveX
- Dyalog APL (CEF3) – HTMLRenderer[16]
- Free Pascal (CEF3) - fpCEF3[17]
- Go (CEF3) – CEF2go[18]
- Java (CEF3) – Java Chromium Embedded[19]
- .NET (CEF1, CEF3) – CefSharp[20]
- .NET (CEF1) – CefGlue[21]
- .NET/Mono (CEF3) – Xilium.CefGlue[22]
- .NET (CEF3) – ChromiumFX[23]
- .NET (CEF3) – WebKitX CEF3 ActiveX
- Python (CEF1, CEF3) – CEF Python[24]
- Swift (CEF3) – CEF.swift[25]
- Visual Basic 6 (CEF3) – WebKitX CEF3 ActiveX[26]
- 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
Applications using CEF
- Adobe Acrobat
- Adobe Creative Cloud
- Adobe Dreamweaver – Dreamweaver is a web development tool which uses CEF to control resource loading, navigation and context menus[27]
- Adobe Edge Animate – multimedia authoring tools
- Adobe Edge Reflow – responsive web design tool
- Amazon Music – media player for PC and Mac
- AOL Desktop – web browser with integrated AOL email and IM clients
- AOL Instant Messenger – instant messaging client that uses CEF on Windows
- Autodesk Inventor – 3D design tool. Since version 2015, it uses CEF for the 'My Home' feature, a home-page that allows users to create new CAD files and view tutorials.
- Battle.net – game launcher[28]
- BeamNG.drive – Uses CEF to render UI
- Bitdefender – Safepay Browser (part of Internet Security Software)[29]
- Adobe Brackets – open source code editor for the web
- ClassiCube - ClassiCube is a game based on Minecraft's "classic" versions (CEF can only be used by installing a plug-in
- Coconut2D – Coconut2D is an Integrated Development Environment (IDE) for WebGL Games and Classic ASP Web Applications powered by node.js and CEF.[30]
- Desura – online game platform
- Dish World IPTV – streaming video platform
- easescreen – digital signage software
- Eve Online – The launcher software on macOS contains[31] beta launcher on Windows
- Evernote – notetaking software
- ExpanDrive – network file system client
- Facebook Messenger for Windows
- FiveM - Used as an overlay for server browser & other features
- fourDeltaOne - Warfare² UI rendering (defunct mod for the Call of Duty series)
- Foxmail – freeware email client by Tencent
- GOG Galaxy – optional game client for GOG.com
- Google Web Designer – create interactive HTML5 sites and ads
- Grand Theft Auto Online – multiplayer engine for PC game Grand Theft Auto V
- Intel AppUp Encapsulator – Intel app store software
- Kaspersky Security Scan – Scanner from Kaspersky Lab
- KKBOX – streaming music platform
- League of Legends – game launcher[32]
- LiveCode – multi-platform app development software[33]
- Logos – Bible study software
- Macaw Web Editor – commercial WYSIWYG editor used for web development
- MATLAB – Uses CEF for its
uifigures
- Mailbird – Windows email software
- Max 8 — visual programming software
- MediaMan – organizer software
- Minecraft – launcher for the game[34]
- Multi Theft Auto – multiplayer engine for PC game Grand Theft Auto: San Andreas
- Php Desktop - provide a way for developing native desktop GUI applications using web technologies such as PHP, HTML5, JavaScript and SQLite.
- PokerStars – online poker cardroom
- Power BI - Business Intelligence software[35]
- QuarkXPress – JavaScript support
- Qobuz – HD download and streaming music platform[36]
- Second Life – online virtual world[37]
- Sling TV – IPTV service operated by Dish Network.[38]
- Spotify – streaming music platform[39]
- StarUML – UML model editor
- Steam – video game digital distribution platform
- Tencent QQ – instant messaging program (its QPlus part) and web browser
- TOWeb – responsive website creation software
- Trend Micro – internet security software
- UBot Studio – internet marketing and web automation software
- UNIFACE – UNIFACE runtime and development environment.
- Unity3D – game engine
- Unreal Engine – game engine
- Uplay – an online game platform
- WebMenu Studio - A visual designer application for creating DHTML hierarchical menus.
- Xojo – uses CEF3 with its HTMLViewer control on Windows
- 4D – a relational database management system and IDE
- NaonTalk - Web Messenger Application
References
- "CEF3 WIKI Current Releases Supported".
- "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". Retrieved 2012-12-26.
- "dcef3 – Delphi Chromium Embedded 3 – Google Project Hosting". Retrieved 2012-12-26.
- "GitHub - salvadordf/CEF4Delphi: CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi". github.com. Retrieved 25 February 2017.
- "HTMLRenderer User Guide" (PDF). dyalog.com. Retrieved 1 August 2019.
- "Chromium Embedded Framework for Free Pascal". Retrieved 2017-01-31.
- "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". Retrieved 2012-12-26.
- "CEF.swift – Swift bindings for the Chromium Embedded Framework (CEF)".
- "WebKitX CEF3 ActiveX – Visual Studio 2015 C++11 MFC/ATL ActiveX for VB6".
- "CEF integration in Dreamweaver".
- "64bit Version". Battle.net Forums. Retrieved 21 March 2017.
- "Bitdefender Total Security".
- "Coconut2D".
- "Eve Launcher – Evelopedia". Archived from the original on 28 May 2015. Retrieved 4 March 2013.
- "The Architecture of the League Client Update". Riot Games Engineering. Retrieved 21 March 2017.
- "How To Add a Web Browser to Your App". LiveCode. Retrieved 10 November 2015.
- "Help us test the new Minecraft launcher! Check the comments for instructions. • /r/Minecraft". reddit. Retrieved 2016-10-25.
- "Microsoft PowerBI". Microsoft. Retrieved 22 February 2019.
- "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.