Jump to content

Chromium Embedded Framework

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Awb wp (talk | contribs) at 08:14, 1 July 2017 (Fixed cut-and-paste mistake). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Chromium Embedded Framework
Developer(s)Marshall Greenblatt
Initial releaseJune 1, 2009; 15 years ago (2009-06-01)
Stable release
59.3071[1] / April 2017 (2017-04)
Repository
Written inC++
Operating systemWindows
Linux
Mac OS X
TypeFramework, Web browser
LicenseNew BSD License (see BSD licenses)
Websitebitbucket.org/chromiumembedded/cef

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, and Python and runs on Linux, Mac OS X 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]

Adobe Web Engine Team maintains development and stable branches builds for Linux (in 32- and 64-bit forms), Mac and Windows.

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]
  • 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]
  • Python (CEF1, CEF3) – CEF Python[24]
  • Swift (CEF3) – CEF.swift[25]

Applications using CEF

See also

References

  1. ^ "CEF3 WIKI Current Releases Supported".
  2. ^ "Versions – Overview of the CEF architecture".
  3. ^ "Content API – The Chromium Projects".
  4. ^ "CEF1 Retirement Plan".
  5. ^ "CEF 3 Architecture – CEF wiki pages".
  6. ^ "Single process – Process Models- The Chromium Projects".
  7. ^ "CEF Git: 1364/cef1/tests/cefclient/".
  8. ^ "CEF Git: master/tests/cefclient/".
  9. ^ "CefSimple Tutorial".
  10. ^ "CEF Git: /1364/cef1/include/".
  11. ^ "CEF Git: /master/include/".
  12. ^ "CEF Wiki Pages".
  13. ^ "delphichromiumembedded – Delphi Chromium Embedded – Google Project Hosting". code.google.com. Retrieved 2012-12-26.
  14. ^ "dcef3 – Delphi Chromium Embedded 3 – Google Project Hosting". Code.google.com. Retrieved 2012-12-26.
  15. ^ "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.
  16. ^ "Dyalog APL Experimental Functionality HTML Renderer Version 16.0" (PDF). dyalog.com. Retrieved 1 July 2017.
  17. ^ "Chromium Embedded Framework for Free Pascal". Retrieved 2017-01-31.
  18. ^ "HTML 5 based GUI toolkit for the Go language". Retrieved 2014-02-06.
  19. ^ "javachromiumembedded – Java Wrapper for the Chromium Embedded Framework (CEF)".
  20. ^ "chillitom/CefSharp · GitHub". Github.com. Retrieved 2012-12-26.
  21. ^ "fddima / CefGlue / wiki / Home — Bitbucket". Bitbucket.org. 2012-08-21. Retrieved 2012-12-26.
  22. ^ "xilium / Xilium.CefGlue / wiki / Home — Bitbucket". Bitbucket.org. 2012-10-10. Retrieved 2012-12-26.
  23. ^ "ChromiumFX – .NET bindings for the Chromium Embedded Framework (CEF)".
  24. ^ "cefpython – Python bindings for Chrome / Chromium Embedded Framework (CEF) – Google Project Hosting". Code.google.com. Retrieved 2012-12-26.
  25. ^ "CEF.swift – Swift bindings for the Chromium Embedded Framework (CEF)".
  26. ^ "CEF integration in Dreamweaver".
  27. ^ "64bit Version". Battle.net Forums. Retrieved 21 March 2017.
  28. ^ "Eve Launcher – Evelopedia". Retrieved 4 March 2013.
  29. ^ "The Architecture of the League Client Update". Riot Games Engineering. Retrieved 21 March 2017.
  30. ^ "Help us test the new Minecraft launcher! Check the comments for instructions. • /r/Minecraft". reddit. Retrieved 2016-10-25.
  31. ^ "Quobuz Desktop". Retrieved 4 March 2013.
  32. ^ "Second Life 4.0.0.305703 Release Notes". Retrieved 7 April 2016.
  33. ^ "Sling TV – Watch Live TV Programming Anytime and Anywhere". Retrieved 27 August 2015.
  34. ^ "Open Source @ Spotify". Retrieved 2 March 2016.