Любые причины предпочитать CefSharp над CefGlue (или наоборот)?
В области обеспечения достойной реализации Chromium Embedded Framework (CEF) для .Net двумя ведущими параметрами являются CefSharp и CefGlue. Они отличаются друг от друга (CefGlue использует P/Invoke для вызова неуправляемого кода CEF, CefSharp использует смешанную оболочку С++/CLI вокруг библиотек CEF).
Есть ли какая-то причина того, что сборка в смешанном режиме лучше, чем вызовы P/Invoke? При прочих равных условиях CefGlue (P/Invoke lib) предоставляет "более тонкую" оболочку вокруг проекта CEF, а это значит, что, скорее всего, быстрее будет реагировать на обновления в восходящей библиотеке.
Есть ли там кто-нибудь с опытом работы с обеими библиотеками, которые могут делиться тем, какими будут дифференцирующие факторы?
Ответы
Ответ 1
В некотором смысле они примерно одинаковы, и в зависимости от того, что вы выбрали, вы должны уйти в 2014 году. У нас был этот вопрос некоторое время назад, и вот что мы имеем с собой:
CefSharp
Достоинства:
- WinForms - очень старый и зрелый проект. Если вы хотите использовать WinForms, это, вероятно, способ пойти;
- У него есть пакет NuGet, поэтому его легко использовать и обновлять;
- Поддержка новой версии WPF (.NET 4 +);
- Поддержка моно.
Недостатки:
- Как @Uwe Keim упомянул, что они совсем недавно начали поддерживать WPF, поэтому он не так зрел, как Xillium.CefGlue;
- Сообщество не настолько восприимчиво к вашим потребностям.
CefGlue
Достоинства:
- Это .NET 2.0. Ваш код сможет работать на нем. (Это было важно для нас)
- Очень отзывчивое сообщество, которое поможет вам получить то, что вам нужно сделать/исправлено;
- Более зрелая поддержка WPF;
Недостатки:
- Нет пакета NuGet, насколько я знаю, вам нужно будет добавлять библиотеки и обновлять их самостоятельно
Ответ 2
Чтобы выполнить ответ Artem, CefSharp предоставляет только базовую интеграцию с С#, тогда как CefGlue предлагает очень полное интеграционное решение, подвергая все привязки javascript, предлагаемые CEF.
Что касается пакета Nugets, я просто создал пакеты CEFGlue nuget для .Net 4.5 таргетинга 3.2272.2035 Версия CEF: Unofficial.CefGlue.WPF и Unofficial.CefGlue.WindowsForm.