Chromium Embedded Framework
作者 | Marshall Greenblatt |
---|---|
初版 | 2009年6月1日 |
最新版 | |
リポジトリ | |
対応OS | |
種別 | ソフトウェアフレームワーク, ウェブブラウザ |
ライセンス | BSD |
公式サイト |
bitbucket |
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]。
CEFを使用したアプリケーションの例
[編集]- 4D – RDB管理用IDE
- Adobe[28]
- Adobe Acrobat
- Adobe Illustrator – vector graphics editor
- Adobe Creative Cloud
- Adobe Dreamweaver – GUIにAdobe Chromium Embeddedを使用[29]
- Adobe Edge Animate – マルチメディア制作ツール
- Adobe Edge Reflow – Webデザインツール
- Adobe Brackets – 以前はクローズドソースだったIDE
- AOL Instant Messenger – インスタントメッセンジャー
- alt:V - Grand Theft Auto Vのためのマルチプレイヤーエンジン
- Amazon Music Player – Amazon Musicの公式プレーヤー
- AOL Desktop
- Autodesk Inventor – 3Dデザインツール: CEFを「マイホーム」機能に使用
- Battle.net App – Battle.netの公式クライアント
- BeamNG.drive – UIレンダリングにCEFを使用
- Bitdefender Safepay Browser – インターネットセキュリティーソフト「Bitdefender」の一部
- Brackets – 現在はオープンソースであるIDE
- Desura client – Desuraの公式クライアント
- Dish World IPTV – 映像ストリーミングのプラットフォーム
- Dyalog APL – CEFをユーザーコマンドの、
]HTML
,]Plot
,]APLCart
に使用 - Epic Games Launcher – Epic Games Storeの公式クライアント
- Eve Online launcher – Eve Onlineの公式ランチャー[30]
- ExpanDrive – ネットワークストレージ等のクライアント
- Foxmail – Tencentのメールクライアント
- GOG Galaxy – GOG.comの公式クライアント
- Google Web Designer
- Grand Theft Auto Online – Grand Theft Auto Vのためのマルチプレイヤーエンジン
- Intel AppUp Encapsulator
- KKBox – 音楽配信プラットフォーム
- League of Legends launcher – League of Legendsの公式ランチャー[31]
- LiveCode – マルチプラットフォーム向けのアプリ開発ソフト[32]
- LockDown Browser - セキュアなブラウザ[33]
- MATLAB – CEFを
uifigures
に使用 - MediaMan – CD、DVD、本などのための蔵書管理アプリ
- Minecraft Launcher – Minecraftの公式ランチャー[34]
- Multi Theft Auto – Grand Theft Auto: San Andreasのためのマルチプレイヤーエンジン
- OBS Studioのブラウザプラグイン- 配信、録画用ソフトウェア[35]
- OnlyOffice – オフィススイートソフト[36]
- PHP Desktop
- QuarkXPress – JavaScriptのサポート
- QQ – インスタントメッセンジャー
- RAGE Multiplayer – Grand Theft Auto Vのためのマルチプレイヤーエンジン
- Rockstar Games Launcher – Social Clubの公式クライアント
- Second Life – メタバース[37]
- Sling TV – Dish NetworkによるIPテレビサービス[38]
- Spotify Desktop Client – 音楽配信プラットフォーム[39]
- StarUML – UMLエディタ
- Steam client – Steamの公式クライアント[40]
- Trend Micro Internet Security – ウイルスセキュリティソフト
- Ubisoft Connect client – Ubisoft Connectの公式クライアント
- Uniface
- Unity – ゲームエンジン
- Unreal Engine – ゲームエンジン
- Xojo – WindowsにおいてHTMLViewerにCEFを使用
関連項目
[編集]出典・脚注
[編集]- ^ “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) 2021年10月22日閲覧。
- ^ (英語) Know ONLYOFFICE better: our commercial director reveals the story behind the project in the interview for Diolinux, (12 September 2017) 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閲覧。