在为.Net提供不错的Chromium嵌入式框架(CEF)的实现 Realm 中,两个领先的选择似乎是CefSharp和CefGlue。它们的方法不同(CefGlue使用P / Invoke来调用CEF非托管代码,CefSharp使用围绕CEF库的混合模式C++ / CLI包装器)。

出于某种原因,混合模式程序集比P / Invoke调用好吗?在所有其他条件相同的情况下,似乎CefGlue(P / Invoke库)为CEF项目提供了“更薄”的包装,这意味着响应上游库中的更新可能会更快。

是否有任何人有两个库的经验,可以分享差异化的因素?

最佳答案

从某种意义上说,它们大致相同,无论您选择哪种结构,都应该能够在2014年摆脱困境。我们前段时间遇到了这个问题,以下是我们的建议:

CefSharp

优点:

  • WinForms是一个非常古老且成熟的项目。如果要使用WinForms,则可能是可行的方法。
  • 它具有NuGet bundle 包,因此易于使用和更新。
  • 支持WPF的较新版本(.NET 4+);

  • 缺点:
  • 正如@Uwe Keim所说,他们最近才终于开始支持WPF,因此它不如Xillium.CefGlue成熟。
  • 社区对您的需求不满意。
  • 不支持Mono。

  • 头孢胶

    优点:
  • 它是.NET 2.0友好的。您的代码将能够在其上运行。 (这对我们至关重要)
  • 一个反应迅速的社区,它将帮助您完成/修复需要的工作;
  • 对WPF的更成熟的支持;
  • Mono支持。

  • 缺点:
  • 据我所知,没有NuGet软件包,您需要添加库并自己更新它们
  • 10-05 20:12