带有C#后端的电子GUI

时间:2017-08-08 23:16:46

标签: javascript c# node.js electron ipc

用例

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

我担心:

使用电子边缘的建议不需要很长时间。虽然我并不担心让一切正常,但我担心:

  1. 调试我的C#代码(我仍然希望能够从VS启动我的整个应用程序并调试它看起来我已经习惯了)。我读到我需要附加到node.js应用程序,以便之后调试我的C#代码。由于整个程序语言是用C#编写的,听起来很痛苦吗?
  2. 只要我有优势就会让它只作为一个进程运行。我可以将电子应用程序视为一个自己的线程,当我的C#代码卡在某处时它仍会运行吗?
  3. 我的选择:

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

    我的问题:

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

3 个答案:

答案 0 :(得分:0)

您可以通过多种方式进行操作

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

2)创建一个.Net Web服务器,并包括您作为REST端点的功能。从UI发出http请求进行通信(UI和BEnd的清晰分隔)

您可以在my github repo处签出一些电子替代品。

答案 1 :(得分:0)

Electron.NET可能是您的选择。您可以用电子编写C#代码。

答案 2 :(得分:0)

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

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