跨平台UI模块,可与C#/ Mono后端配合使用

Yve*_*lpe 10 c# mono cross-platform eto electron

编辑1 2017年1月29日 -目前,我们的选择已经到电子结合EdgeJS和所有的力量的NodeJS上NPM那里包/资源.还有就是我们没有更好的选择,以创建跨平台的应用程序的所有三个plyers(macOS,linux和windows).感谢大家的投入.


ORIGINAL问题:
TL; DR - 用C#(.Net/Mono)编写的后端代码.编写需要对系统进行低级访问的桌面应用程序(跨平台OSX,Linux,Windows 7到10).寻找一站式跨平台UI工具/框架,可以通过轮询/消息传递或调用后端代码的代码来与后端代码的状态进行交互.这个"后端"包括例如扫描和列出过程信息,截取屏幕截图等.发送网络信息(访问了哪些网站等).这实际上是学生在进行在线考试时的考试监控器.教室.**

我们正在探索的选项:

  • 电子(以前称为原子壳)看起来不错,但我们不知道它是否可以互操作/调用/ kickstart C#/ Mono应用程序.也可以在他们的官方论坛上发布这个反馈,以及它是否是一个很好的电子用例.在一个理想的世界里,我们想完全使用电子,但不幸的是我认为我们需要特定于平台的逻辑(现在我们用C#w/.net和mono处理).
  • Eto.Forms是我们现在使用的,但它限制了它的UI功能 - 因为有时它仍然在不同的平台上呈现不同的(窗口大小).它还具有与用户平台相关的不同外观和感觉 - 这是一个很好的功能,但它使得难以制作专用控件来可视化状态,这在html/css中会更容易.

  • 另一种途径是Eto.Forms(或其他)之间的混合,用于引导本机UI,该UI在其窗口中托管浏览器,该窗口跨平台而不依赖于本地安装的浏览器,例如Awesomium.这仍然需要Eto.Forms或任何其他引导程序来启动应用程序,但所有其他导航将通过Awesomium呈现的html.

谢谢,伊夫

小智 -2

Xamarin Forms 是我选择的框架。https://visualstudio.microsoft.com/xamarin/它是为移动设备设计的,但也扩展到包括桌面设备。