Chromium Embedded Framework

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.org/chromiumembedded/cef

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:

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

  1. "Versions - Overview of the CEF architecture.".
  2. "Content API - The Chromium Projects".
  3. "CEF1 Retirement Plan".
  4. "CEF 3 Architecture - CEF wiki pages".
  5. "Single process - Process Models- The Chromium Projects".
  6. "CEF Git: 1364/cef1/tests/cefclient/".
  7. "CEF Git: master/tests/cefclient/".
  8. "CefSimple Tutorial".
  9. "CEF Git: /1364/cef1/include/".
  10. "CEF Git: /master/include/".
  11. "CEF Wiki Pages".
  12. "delphichromiumembedded - Delphi Chromium Embedded - Google Project Hosting". code.google.com. Retrieved 2012-12-26.
  13. "dcef3 - Delphi Chromium Embedded 3 - Google Project Hosting". Code.google.com. Retrieved 2012-12-26.
  14. "HTML 5 based GUI toolkit for the Go language". Retrieved 2014-02-06.
  15. "javachromiumembedded - Java Wrapper for the Chromium Embedded Framework (CEF)".
  16. "chillitom/CefSharp · GitHub". Github.com. Retrieved 2012-12-26.
  17. "fddima / CefGlue / wiki / Home — Bitbucket". Bitbucket.org. 2012-08-21. Retrieved 2012-12-26.
  18. "xilium / Xilium.CefGlue / wiki / Home — Bitbucket". Bitbucket.org. 2012-10-10. Retrieved 2012-12-26.
  19. "ChromiumFX - .NET bindings for the Chromium Embedded Framework (CEF)".
  20. "cefpython - Python bindings for Chrome / Chromium Embedded Framework (CEF) - Google Project Hosting". Code.google.com. Retrieved 2012-12-26.
  21. "AppJS".
  22. "Cubiez". Retrieved 4 March 2013.
  23. "Eve Launcher - Evelopedia". Retrieved 4 March 2013.
  24. "ExeOutput for PHP". Retrieved 4 March 2013.
  25. "fan".
  26. "Janetter". Retrieved 4 March 2013.
  27. "Key4Two - i-Patrol Technology LLC". Retrieved 9 November 2014.
  28. "mChef - mIRC browser plugin". Retrieved 4 March 2013.
  29. "SAPO MEO Music". Retrieved 22 October 2013.
  30. "MetaVR". Retrieved 4 March 2013.
  31. "MTG Studio". Retrieved 4 March 2013.
  32. "OpenSpace3D". Retrieved 4 March 2013.
  33. "PHPDesktop".
  34. "Quobuz Desktop". Retrieved 4 March 2013.
  35. "Telebreeze".
  36. "WBEA Desktop". Retrieved 4 March 2013.

External links