Open main menu

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).

Chromium Embedded Framework
Chromium Embedded Framework Logo.png
Developer(s)Marshall Greenblatt
Initial releaseJune 1, 2009; 9 years ago (2009-06-01)
Stable release
74.0.3729.157[1] / May 2019 (2019-05)
Repository Edit this at Wikidata
Development statusActive
Written inC++
Operating systemWindows
Linux
macOS
TypeFramework, Web browser
LicenseNew BSD License (see BSD licenses)
Websitebitbucket.org/chromiumembedded/cef

CEF runs on Linux, macOS, and Windows. It has many language bindings including C, C++, Go, Java, and Python.

Contents

OverviewEdit

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 languagesEdit

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) – 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

Applications using CEFEdit

See alsoEdit

ReferencesEdit

  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". Retrieved 2012-12-26.
  14. ^ "dcef3 – Delphi Chromium Embedded 3 – Google Project Hosting". 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". Retrieved 2012-12-26.
  25. ^ "CEF.swift – Swift bindings for the Chromium Embedded Framework (CEF)".
  26. ^ "WebKitX CEF3 ActiveX – Visual Studio 2015 C++11 MFC/ATL ActiveX for VB6".
  27. ^ "CEF integration in Dreamweaver".
  28. ^ "64bit Version". Battle.net Forums. Retrieved 21 March 2017.
  29. ^ "Bitdefender Total Security".
  30. ^ "Coconut2D".
  31. ^ "Eve Launcher – Evelopedia". Retrieved 4 March 2013.
  32. ^ "The Architecture of the League Client Update". Riot Games Engineering. Retrieved 21 March 2017.
  33. ^ "How To Add a Web Browser to Your App". LiveCode. Retrieved 10 November 2015.
  34. ^ "Help us test the new Minecraft launcher! Check the comments for instructions. • /r/Minecraft". reddit. Retrieved 2016-10-25.
  35. ^ "Microsoft PowerBI". Microsoft. Retrieved 22 February 2019.
  36. ^ "Quobuz Desktop". Retrieved 4 March 2013.
  37. ^ "Second Life 4.0.0.305703 Release Notes". Retrieved 7 April 2016.
  38. ^ "Sling TV – Watch Live TV Programming Anytime and Anywhere". Retrieved 27 August 2015.
  39. ^ "Open Source @ Spotify". Retrieved 2 March 2016.

External linksEdit