Chromium Embedded Framework
Developer(s) | Marshall Greenblatt |
---|---|
Initial release | June 1, 2009 |
Stable release | 68.3440[1]
/ August 2018 |
Repository | |
Written in | C++ |
Operating system | Windows Linux macOS |
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 allows developers 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 for developers to add HTML rendering and JavaScript to a C++ project. It also comes with bindings for C, C++, Delphi, Go, Java, .NET / Mono, Visual Basic 6.0, and Python and runs on Linux, macOS and Windows.
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]
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) – HTML Renderer[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) – (only for 32-bit) 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, only 32-bit) (CEF3) – WebKitX CEF3 ActiveX
- Microsoft Visual Studio .NET 2010/2015/2017 (VB.Net, C#, only for 32-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
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
- Desura – online game platform
- Dish World IPTV – streaming video platform
- Eve Online – The launcher software on macOS contains[30] beta launcher on Windows
- Evernote – notetaking software
- ExpanDrive – network file system client
- Facebook Messenger for Windows
- 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[31]
- LiveCode – multi-platform app development software[32]
- Macaw Web Editor – commercial WYSIWYG editor used for web development
- MATLAB – Uses CEF for its
uifigures
- Mailbird – Windows email software
- MediaMan – organizer software
- Minecraft – launcher for the game[33]
- Multi Theft Auto – multiplayer engine for PC game Grand Theft Auto: San Andreas
- PokerStars – online poker cardroom
- QuarkXPress – JavaScript support
- Qobuz – HD download and streaming music platform[34]
- Second Life – online virtual world[35]
- Sling TV – IPTV service operated by Dish Network.[36]
- Spotify – streaming music platform[37]
- StarUML – UML model editor
- Steam Client – an online game platform
- Tencent QQ – instant messaging program (its QPlus part) and web browser
- TOWeb – responsive website creation software
- Trend Micro – internet security software
- Truckmate – integrated transportation software suite by TMW Systems
- 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
- Xojo – uses CEF3 with its HTMLViewer control on Windows
See also
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". code.google.com. Retrieved 2012-12-26.
- ^ "dcef3 – Delphi Chromium Embedded 3 – Google Project Hosting". Code.google.com. 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.
- ^ "Dyalog APL Experimental Functionality HTML Renderer Version 16.0" (PDF). dyalog.com. Retrieved 1 July 2017.
- ^ "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". Code.google.com. 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".
- ^ "Eve Launcher – Evelopedia". 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.
- ^ "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.