CefSharp

Бесплатно
Открытый исходный код
Windows

Сайт: cefsharp.github.io

CefSharp — это свободная .NET-обёртка для Chromium Embedded Framework (CEF), предоставляющая возможность встраивать полнофункциональный браузер на базе Chromium в приложения на платформе .NET. Проект реализован как набор библиотек, совместимых с приложениями WinForms и WPF, а также включает поддержку безголового режима OffScreen для сценариев рендеринга вне пользовательского интерфейса. CefSharp ориентирован на разработчиков, которым требуется интеграция веб-контента, движка рендеринга и взаимодействия между управляемым кодом и веб-страницами внутри настольных приложений.

Разработка CefSharp велась как мост между API CEF и экосистемой .NET, обеспечивая привязки для управления жизненным циклом браузера, выполнения JavaScript, перехвата сетевых запросов и обработки событий пользовательского интерфейса. Проект поддерживает типовые механизмы взаимодействия: вызовы методов из JavaScript в C# и обратно, настройку контекста безопасности и управление ресурсами. Исторически CefSharp развивался параллельно с изменениями в CEF и Chromium, адаптируя бинарные зависимости и обеспечивая совместимость с различными версиями .NET Framework и .NET Core/NET.

  • Интеграция Chromium: встроенный движок рендеринга Chromium для отображения современных веб-страниц и использования технологий HTML5, CSS и JavaScript.
  • Поддержка WinForms и WPF: компоненты для прямого встраивания браузерного окна в формы и элементы WPF с нативной отрисовкой и обработкой событий.
  • OffScreen (безголовый режим): рендеринг веб-контента в памяти без визуального интерфейса для задач генерации изображений, автоматизированного тестирования и серверного рендеринга.
  • Вызовы между JavaScript и .NET: механизм регистрации объектов и вызова методов из скриптов, а также исполнения JavaScript из управляемого кода приложения.
  • Перехват и модификация запросов: возможности перехвата сетевого трафика, управления заголовками, подмены ответов и реализации собственных схем обработки ресурсов.
  • Обработка контекстов и окон: управление созданием всплывающих окон, вкладок, всплывающих диалогов и конфигурацией контекста браузера.
  • Безопасность и конфигурация: настройка политик безопасности, хранения данных (cookies, кеш), а также управление ресурсами и правами доступа.
  • Расширяемость и события: событийная модель для реакции на загрузку страниц, навигацию, ошибки, состояние загрузки и взаимодействие с DOM.
  • Кроссплатформенные бинарные зависимости: адаптация и упаковка необходимых нативных библиотек Chromium/CEF для работы на поддерживаемых платформах и архитектурах.
Подробнее