有什么理由比CefGlue更喜欢CefSharp(反之亦然)?

在为.NET提供一个体面的embedded式框架(CEF)的领域,两个领先的select似乎是CefSharp和CefGlue。 它们在方法上有所不同(CefGlue使用P / Invoke调用CEF非托pipe代码,CefSharp使用CEF库的混合模式C ++ / CLI包装器)。

混合模式程序集比P / Invoke调用更好吗? 所有其他的事情都是平等的,看起来CefGlue(P / Invoke库)为CEF项目提供了一个“更薄”的包装,这意味着它可能更快地响应上游库中的更新。

这两个图书馆的经验是否可以分享哪些差异化因素?

从某种意义上讲,它们大致相同,而且在2014年你可以select哪一个应该可以避开。前一段时间我们有这个问题,在这里,我们已经得出结论:

CefSharp

加号:

  1. WinForms是非常古老和成熟的项目。 如果您要使用WinForms,则可能是要走的路;
  2. 它有一个NuGet包,所以很容易使用和更新;
  3. 支持更新版本的WPF(.NET 4+);
  4. 支持单声道。

劣势:

  1. 正如@Uwe Keim所说,他们最近才开始支持WPF,所以它不如Xillium.CefGlue成熟;
  2. 社区不能接受你的需求。

CefGlue

加号:

  1. 这是.NET 2.0友好。 您的代码将能够在其上运行。 (这对我们很重要)
  2. 一个非常敏感的社区,可以帮助你得到你所需要的/固定的;
  3. 更成熟的WPF支持;

劣势:

  1. 据我所知没有NuGet包,你需要添加库并自己更新它们

为了完成Artem的回答, CefSharp只提供了与C#的基本JavaScript集成,而CefGlue通过公开CEF提供的所有JavaScript绑定提供了一个非常完整的集成解决scheme。

关于Nugets包,我刚刚为.Net 4.5创build了CEFGlue nuget包 ,目标是3.2272.2035 CEF版本: Unofficial.CefGlue.WPF和Unofficial.CefGlue.WindowsForm 。