Chromium Embedded Framework

Chromium Embedded Framework
Логотип программы Chromium Embedded Framework
Тип фреймворк и библиотека виджетов[вд]
Разработчики Google и Гринблат, Маршалл[вд]
Написана на C++
Операционные системы macOS, Windows и Linux
Первый выпуск 2008
Аппаратные платформы x86 и x86-64
Последняя версия
  • 3
Репозиторий bitbucket.org/chromiumem…
Лицензия модифицированная лицензия BSD[вд]
Сайт bitbucket.org/chromiumem…

Chromium Embedded Framework (сокр. CEF) — открытый фреймворк для встраивания в приложение браузерного движка из проекта Chromium. Позволяет разработчику добавлять в приложение элементы браузера, использовать GUI на основе HTML или использовать движок в качестве рендера HTML или запуска JavaScript в проекте на C++. Есть языковые прослойки[англ.] для Си, Object Pascal, Go, Java, Visual Basic, Python.

Описание

На данный момент существует две версии CEF: CEF 1 и 3[1]. Разработка CEF 2 была прекращена в связи с появлением Chromium Content API.

CEF 1 — это однопоточная реализация на Chromium WebKit API. На данный момент не поддерживается и не разрабатывается[2].

CEF 3 — это многопоточная реализация, основанная на Chromium Content API[3]. Использует асинхронные MOM, чтобы связывать приложение с Blink или V8. Поддерживает плагины PPAPI и расширения Chrome. Однопоточное выполнение недоступно, но может быть включено в целях отладки[4].

Вместе с фреймворком можно получить и простое приложение CefClient, написанное на C++ с использованием WinAPI / Cocoa / GTK+ в зависимости от платформы и показывающее демо с некоторыми простыми функциями[5]. Позже было добавлено приложение CefSimple, у которого есть сопровождающее руководство по использованию CEF 3[6].

Spotify является одним из ведущих разработчиков[7].

Известные реализации

  • DCEF 1 — Delphi
  • DCEF 3 — Delphi
  • CEF4Delphi — Delphi
  • WebKitX CEF3 ActiveX
  • HTML Renderer — Dyalog APL
  • fpCEF3 — Free Pascal
  • CEF2go — Go
  • Java Chromium Embedded — Java
  • CefSharp — .NET
  • CefGlue (недоступная ссылка) — .NET
  • Xilium.CefGlue — .NET/Mono
  • ChromiumFX Архивная копия от 20 февраля 2019 на Wayback Machine — .NET
  • CEF Python — Python
  • CEF.swift — Swift

См. также

+ Microsoft Trident

Примечания

  1. chromiumembedded / cef / wiki / Architecture # Versions (англ.). Дата обращения: 12 декабря 2018. Архивировано 11 февраля 2020 года.
  2. chromiumembedded / cef / wiki / Architecture # CEF1 (Discontinued) (англ.). Дата обращения: 12 декабря 2018. Архивировано 11 февраля 2020 года.
  3. chromiumembedded / cef / wiki / Architecture # CEF3 (англ.). Дата обращения: 12 декабря 2018. Архивировано 11 февраля 2020 года.
  4. Process Models - The Chromium Projects # Single process (англ.). Дата обращения: 12 декабря 2018. Архивировано 8 декабря 2018 года.
  5. chromiumembedded / cef / source / tests / cefclient (англ.). Дата обращения: 12 декабря 2018.
  6. chromiumembedded / cef / source / tests / cefsimple (англ.). Дата обращения: 12 декабря 2018.
  7. Open Source @ Spotify (англ.). Дата обращения: 12 декабря 2018. Архивировано 24 апреля 2018 года.