我应该为我的桌面应用程序使用 Chromium Embedded Framework 还是 .net?

Should i use Chromium Embedded Framework or .net for my desktop apps?

我在 Chromium Embedded Framework 中看到很多使用 HTML for UI 的应用程序,但我不明白为什么他们不使用 XAML like WPF 或类似的东西。

我应该使用 Chromium Embedded Framework 吗?同时,这使用了 C++,这是有限制的,因为我只知道 C#。

我使用 CEFSharp because I know a few JavaScript libraries that I really like for graphs (D3), charts (HighCharts), and datagrids (ag-Grid),我想在桌面应用程序中使用它们。你说 Chromium Embedded Frameword (CEF) 使用 C++,这是真的,但你可以使用 CEFSharp 在 C# 中使用它。最酷的部分是我可以利用我已经掌握的那些 JavaScript 库的知识,并在创建桌面应用程序时应用它。

我没有使用XAML、WPF等,因为我不太了解它们,也找不到我想使用的库。

我使用 CEFSharp 和 ag-Grid 创建的桌面应用程序:EtwViewer

tl;dr

在 HTML/Javascript 中编写客户端应用程序有利于跨平台支持。

详情

WPF 是为 Windows 开发富客户端应用程序的良好框架 。这个限制很重要。在 .NET 中开发客户端代码,尤其是使用与单个 OS 紧密相关的框架时,会将您与一个特定的操作系统联系起来。您带来的示例应用程序 Steam 和 Spotify 都是跨平台应用程序,具有 Windows、MacOS 和 Linux 客户端,甚至是基于浏览器的网络应用程序。

当您以跨平台支持为目标时,尽可能多地共享代码是有道理的。一次又一次地编写相同的登录流程、相同的网络访问代码、相同的逻辑是没有意义的,一次在 C# 中用于 Windows,一次在 Swift 中用于 MacOS 并且在,说, Python/Qt 在 Linux 上。您想要找到一个通用的共享平台,只需要在每个平台上进行微小的修改。 HTTP/JS 使用基于浏览器的应用程序框架(CEF、Electron 或其他)很有意义。