【问题标题】:Electron GUI with C# backend带有 C# 后端的电子 GUI
【发布时间】:2018-01-16 16:13:10
【问题描述】:

用例

我有一个用 C# 开发的现有项目,该项目使用 WinForms 和 GUI 的自定义控件。我们对使用 HTML/CSS/JS 编写 GUI 的方法感到惊讶,我们正在寻找使用上述语言为我们的桌面应用程序编写 GUI 的最佳方法。我们只需要支持 Windows 设备。

我的担心:

很快就会遇到使用电子边缘的建议。虽然我不那么担心让一切正常工作,但我很担心:

  1. 调试我的 C# 代码(我仍然希望能够直接从 VS 启动整个应用程序并对其进行调试,看起来我已经习惯了)。我读到我需要附加到 node.js 应用程序,以便之后调试我的 C# 代码。由于整个程序语言都是用 C# 编写的,这听起来很痛苦?
  2. 据我所知,edge 将让它作为一个进程运行。我可以将电子应用程序视为一个自己的线程,当我的 C# 代码卡在某个地方时它仍然可以运行?

我的选择:

我仍然很肯定我想用 HTML/CSS/JS 编写我的桌面 GUI。我考虑而不是使用电子边缘是编写一个自己的电子应用程序,它使用命名管道与我的 C# 后端进行通信。我想知道是否有更大的障碍为什么我不想这样做并使用电子边缘?

我的问题:

我想就我上面提到的两个问题得到反馈,我也想获得关于我选择创建 GUI 作为自己的电子进程的输入,这样当有人运行我的时我有两个进程(GUI+后端)应用。

【问题讨论】:

  • 您的担忧之一是能否在 Visual Studio 中直接启动整个应用程序?您认为通过命令行启动 Node.js 并在 VS 中按 CTRL + ALT + P 附加到进程需要多长时间?
  • 我从未尝试过,但如果我每次(重新)编译我的应用程序时都必须这样做,我相信这对我和我的同事来说确实很烦人
  • 也许这个链接可以帮助你:github.com/bridgedotnet/Widgetoko
  • 你还需要 Electron 吗? Windows 支持将 JavaScript(和 HTML/CSS)作为原生 Windows 应用程序的一流语言(品牌为 UWP Apps
  • 我相信 UWP 仅限于 Windows 应用商店分发。

标签: javascript c# node.js electron ipc


【解决方案1】:

Electron.NET 可能是您的选择。你可以用electron写c#代码。

【讨论】:

    【解决方案2】:

    你可以通过多种方式做到这一点

    1) 通信。创建 C# COM DLL。使用 N-API(本机节点模块)或使用 FFI 为 DLL 创建包装函数。您可以从 JS 中访问这些函数。

    2) 创建一个 .Net Web 服务器并将您的函数包含为 REST 端点。从 UI 发出 http 请求进行通信(UI & BEnd 明确分离)

    您可以查看my github repo 了解电子的一些替代品。

    【讨论】:

      【解决方案3】:

      我认为最重要的问题是您的前端如何与后端交互?有没有通知需要推送到前端?

      WebSocket 可能是两端通信的好选择。

      【讨论】:

        猜你喜欢
        • 2016-10-20
        • 1970-01-01
        • 1970-01-01
        • 2012-05-24
        • 1970-01-01
        • 1970-01-01
        • 2015-12-30
        • 2023-04-06
        • 1970-01-01
        相关资源
        最近更新 更多