Chromium Embedded Framework
Developer(s) | Marshall Greenblatt |
---|---|
Initial release | June 1, 2009 |
Stable release | 3.2272.104 / March 15, 2015 |
Development status | Active |
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 Chromium. It is a convenient way to add web browser control and implement an HTML5 based GUI in a desktop application or to provide browser capabilities to an application, and provides the infrastructure developers need to quickly add HTML renderer 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. 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]
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]
Applications using CEF
- Adobe Dreamweaver CC - web design software
- Adobe Edge Animate - multimedia authoring tool
- Adobe Edge Reflow - responsive web design tool
- Alpha Anywhere - web application development tool
- Amazon Music - media player for PC and Mac
- AOL Instant Messenger - instant messaging client that uses CEF on Windows
- AppJS - build desktop applications using Node.js[21]
- Battle.net Client -
- Adobe Brackets - open source code editor for the web
- Chromium Tab - another Chromium inside Chrome Chromium Tab extension
- Cubiez - integrates content into the desktop[22]
- Desura - online game platform
- Dish World IPTV - streaming video platform
- Eve Launcher - launcher for Eve Online on Mac OS X,[23] beta launcher on Windows
- Evernote - notetaking software
- ExeOutput - allows deploying HTML5/PHP applications as desktop applications[24]
- ExpanDrive - network file system client
- Facebook Messenger for Windows
- fan - movie compilation and playback app for Windows[25]
- Free Download Manager 5.0 Alpha - free downloads manager (alpha version)
- GitHub for Windows - GitHub client software for Windows
- Google Web Designer - create interactive HTML5 sites and ads
- Inky - smart email app
- Intel AppUp Encapsulator - Intel app store software
- Janetter - Twitter client software[26]
- JMS4 - program for joinery companies
- Key4Two - hardware-level secured sharing network[27]
- Macaw Web Editor - commercial WYSIWYG editor used for web development
- Mailbird - Windows email software
- mChef - mIRC browser plugin[28]
- MediaMan - organizer software
- MEO Music - streaming music application [29]
- MetaVR - geographic simulation software[30]
- MTG Studio - game organizer software[31]
- OpenSpace3D - 3D development platform[32]
- PHP Desktop - develop desktop applications using PHP, HTML 5, Javascript and SQLite[33]
- PokerStars - the largest online poker cardroom in the world
- Qobuz Desktop - HD download and streaming music platform[34]
- Quantel Webtools - Webtools allows third party web applications to appear within Quantel editors
- Rdio - streaming music platform
- Slack - a team communication tool
- Spotify - streaming music platform
- Steam Client - online game platform
- Telebreeze player - multiplatform streaming video player[35]
- Tencent QQ - instant messaging program (its QPlus part) and web browser
- Trend Micro - internet security software
- Uplay - online game platform
- WBEA Desktop - allows deploying HTML5 applications as desktop applications[36]
- yasoon - app store & platform for Microsoft Outlook
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.
- ↑ "AppJS".
- ↑ "Cubiez". Retrieved 4 March 2013.
- ↑ "Eve Launcher - Evelopedia". Retrieved 4 March 2013.
- ↑ "ExeOutput for PHP". Retrieved 4 March 2013.
- ↑ "fan".
- ↑ "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.
- ↑ "Telebreeze".
- ↑ "WBEA Desktop". Retrieved 4 March 2013.