Chromium Embedded Framework (CEF) は、オープンソースの、他のアプリケーションからChromiumを使用できるようにしたソフトウェアフレームワークである。アプリにウェブブラウジング機能を搭載するために使用されるが[要出典]、CEFが提供している機能はHTML、CSS、JavaScriptといったWeb系の技術をUIで使用できるようにすることである。
C、C++、Go、Java、Pythonなど、様々な言語のためにライブラリやバインディング (いわゆるラッパーライブラリ)がある。
Chromium Embedded Frameworkには、以前にメンテナンスされていたCEF 1と現行のCEF 3のバージョンが存在する[3]。 しかし、CEF 2はChromium Content APIの登場によって開発が停止したため存在しない[4]。
CEF 1はシングルプロセスで、Chromium WebKit APIに基づいた実装だった。 しかし、開発が続かなかった[5]。
CEF 3はマルチプロセスで、Chromium Content APIに基づいた実装である。メインスレッドとレンダープロセス(BlinkとV8)の通信に非同期通信を用い、Google Chromeに近いパフォーマンスを誇った[6]。 2022年6月の時点で、PPAPIの削除等による理由からPPAPIのメンテナンスはなされていない。これにはChromeの従来のアプリケーションや、ネイティブクライアントサポートのようなChromiumプロジェクトのメインストリームのものも含まれる[7]。しかし、ChromiumのPDFiumによるPDF viewerのサポートは続いている。また、シングルプロセスでの実行はサポートされていないが、デバッグ目的で残されている[8]。
2019年3月16日、バージョン名の付け方が、リリース「CEF 73.1.3+g46cf800+chromium-73.0.3683.75」のような形式から変わった。参考に、同年3月14のリリース名は「CEF 3.3683.1920.g9f41a27」だった。どちらのリリースも、Chromiumのバージョン「73.0.3683.75」をベースとしたものだが、新しいバージョン名の付け方はベースとしたChromiumのバージョン名と同じバージョン名を使用している。
CEFにはCefClientと呼ばれる、C++で記述された、WinAPI、Cocoa、GTK (プラットフォームによって異なる) などを使用したサンプルアプリケーションや、いくつか機能デモが付属している[9][10]。
なお、ドキュメントはヘッダファイルのあるincludeディレクトリ[11][12]と、リポジトリ内のwikiページに[13]ある。
CEFが利用できる本来の言語はCとC++であり、公式が提供するバインディングはJavaだけであるが、いくつかのプロジェクトがバインディングをメンテナンスしている。
ただし、長くメンテナンスされていないものや、リポジトリがアーカイブされてしまっているものもある。
- Delphi (CEF1) – DCEF 1[14]
- Delphi (CEF3) – DCEF 3[15]
- Delphi (CEF3) – CEF4Delphi[16]
- Dyalog APL (CEF3) – HTMLRenderer[17]
- Free Pascal (CEF3) - fpCEF3[18]
- Go (CEF3) – CEF2go[19]
- Java (CEF3) – Java Chromium Embedded[20] (JCEF)
- .NET (CEF1, CEF3) – CefSharp[21]
- .NET (CEF1) – CefGlue[22]
- .NET/Mono (CEF3) – Xilium.CefGlue[23]
- .NET (CEF3) – ChromiumFX[24]
- Python (CEF1, CEF3) – CEF Python[25]
- Swift (CEF3) – CEF.swift[26]
これ以外にも、WebKitX CEF3 ActiveXという製品があり、いくつかの言語からも使用できる[27]。
- ^ “CEF3 WIKI Current Releases Supported”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ “CEF Automated Builds”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ “chromiumembedded / cef / wiki / Architecture — Bitbucket”. 2025年1月3日閲覧。
- ^ “Content API – The Chromium Projects”. 2025年1月3日閲覧。
- ^ “CEF1 Retirement Plan”. 2025年1月3日閲覧。
- ^ “chromiumembedded / cef / wiki / Architecture — Bitbucket”. 2025年1月3日閲覧。
- ^ “Changes to the Chrome App Support Timeline” (英語). Chromium Blog. 2024年4月22日閲覧。
- ^ “Chromium Docs - Process Model and Site Isolation”. 2025年1月3日閲覧。
- ^ “chromiumembedded / cef / cef1 / tests / cefclient — Bitbucket”. 2025年1月3日閲覧。
- ^ “chromiumembedded / cef / tests / cefclient — Bitbucket”. 2025年1月3日閲覧。
- ^ “chromiumembedded / cef / cef1 / include — Bitbucket”. 2025年1月3日閲覧。
- ^ “chromiumembedded / cef / include — Bitbucket”. 2025年1月3日閲覧。
- ^ “chromiumembedded / cef / wiki / Home — Bitbucket”. 2025年1月3日閲覧。
- ^ “delphichromiumembedded – Delphi Chromium Embedded – Google Project Hosting”. 2012年12月26日閲覧。
- ^ “dcef3 – Delphi Chromium Embedded 3 – Google Project Hosting”. 2012年12月26日閲覧。
- ^ “GitHub - salvadordf/CEF4Delphi: CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi.” (英語). github.com. 25 February 2017閲覧。
- ^ “HTMLRenderer User Guide” (英語). dyalog.com. 1 August 2019閲覧。
- ^ “Chromium Embedded Framework for Free Pascal”. GitHub. 2017年1月31日閲覧。
- ^ “HTML 5 based GUI toolkit for the Go language”. GitHub. 2014年2月6日閲覧。
- ^ “chromiumembedded / java-cef — Bitbucket”. 2025年1月3日閲覧。
- ^ “chillitom/CefSharp · GitHub”. Github.com. 2012年12月26日閲覧。
- ^ “fddima / CefGlue / wiki / Home — Bitbucket”. Bitbucket.org (2012年8月21日). 2012年12月26日閲覧。
- ^ “xilium / Xilium.CefGlue / wiki / Home — Bitbucket”. Bitbucket.org (2012年10月10日). 2012年12月26日閲覧。
- ^ “ChromiumFX – .NET bindings for the Chromium Embedded Framework (CEF)”. 2019年2月20日時点のオリジナルよりアーカイブ。2015年3月21日閲覧。
- ^ “cefpython – Python bindings for Chrome / Chromium Embedded Framework (CEF) – Google Project Hosting”. 2012年12月26日閲覧。
- ^ “CEF.swift – Swift bindings for the Chromium Embedded Framework (CEF)”. GitHub (6 December 2021). 2025年1月3日閲覧。
- ^ “mobileFX WebKit ActiveX - Web Browser Control for rendering HTML5 and manipulating HTML DOM in your applications. Microsoft IE Web Control Replacement.”. 2025年1月3日閲覧。
- ^ “Adobe using Google Chromium Embedded Framework for Edge tools | Tim Anderson's IT Writing” (英語) (27 September 2012). 2022年12月2日閲覧。
- ^ “Design, edit, and preview web pages in Live View in Dreamweaver”. 2025年1月3日閲覧。
- ^ “Eve Launcher – Evelopedia”. 28 May 2015時点のオリジナルよりアーカイブ。4 March 2013閲覧。
- ^ “The Architecture of the League Client Update”. Riot Games Engineering. 21 March 2017閲覧。
- ^ “How To Add a Web Browser to Your App”. LiveCode. 10 November 2015閲覧。
- ^ “LockDown Browser - Resources”. Respondus. 10 October 2024閲覧。
- ^ “Help us test the new Minecraft launcher! Check the comments for instructions. • /r/Minecraft”. reddit. 2016年10月25日閲覧。
- ^ obs-browser, OBS Project, (2021-10-21), https://github.com/obsproject/obs-browser 2021年10月22日閲覧。
- ^ (英語) Know ONLYOFFICE better: our commercial director reveals the story behind the project in the interview for Diolinux, (12 September 2017), https://www.onlyoffice.com/blog/2017/09/know-onlyoffice-better-our-commercial-director-reveals-the-story-behind-the-project-in-the-interview-for-diolinux 2024年6月23日閲覧。
- ^ “Second Life 4.0.0.305703 Release Notes” (25 October 2015). 7 April 2016閲覧。
- ^ “Sling TV – Watch Live TV Programming Anytime and Anywhere”. 27 August 2015閲覧。
- ^ “Open Source @ Spotify”. 2 March 2016閲覧。
- ^ “Chromium Embedded Framework”. developer.valvesoftware.com. Last edited on 15 June 2023. 27 July 2023閲覧。