Any reason to prefer CefSharp over CefGlue (or vice-versa)?

Drew Shafer picture Drew Shafer · Sep 1, 2012 · Viewed 16.1k times · Source

In the realm of providing a decent implementation of the Chromium Embedded Framework (CEF) for .Net, the two leading options appear to be CefSharp and CefGlue. They differ in approach (CefGlue uses P/Invoke to call into the CEF unmanaged code, CefSharp uses a mixed-mode C++/CLI wrapper around the CEF libraries).

Is there some reason that a mixed-mode assembly is better than P/Invoke calls? All other things being equal, it seems like CefGlue (the P/Invoke lib) provides a "thinner" wrapper around the CEF project, which means it would probably be faster to respond to updates in the upstream library.

Is there anyone out there with experience with both libraries who can share what the differentiating factors would be?

Answer

Artem picture Artem · Mar 19, 2014

In some sense they are about the same and whichever you'd pick you should be able to get away with in 2014. We had this question some time ago and here what we have comeup with:

CefSharp

Pluses:

  1. The WinForms is very old and mature project. If you are to use WinForms it is probably the way to go;
  2. It has a NuGet bundle, so it is easy to use and update;
  3. Supports newer version of WPF (.NET 4+);

Minuses:

  1. As @Uwe Keim had mentioned they just recently finally started to support WPF, so it is not as mature as Xillium.CefGlue;
  2. Community isn't that receptive to your needs;
  3. No Mono support.

CefGlue

Pluses:

  1. It is .NET 2.0 friendly. Your code will be able to run on it. (This was critical for us)
  2. A very responsive community which would help you to get what you need done/fixed;
  3. More mature support for WPF;
  4. Mono support.

Minuses:

  1. No NuGet package as far as I know, you'd need to add libraries and update them yourself