对于C#中的多平台GUI应用程序,我有哪些选择?

时间:2018-06-28 15:42:32

标签: c# user-interface cross-platform

请记住,尽管我会编码,但我不是专业的开发人员。继续前进:

我正在为运行在Linux和Windows上的嵌入式系统创建一个简单的GUI程序。问题是,负责开发该applet的人员坚持要求将其用c#编写。我可以通过mono运行.net框架代码,并且.net内核在设计上是多平台的,但是他打算使用UWP,并且显然在Linux上不起作用。我已经研究过Avalonia,但是它与他使用的.net版本不兼容。他告诉我,由于某些复杂的原因,QT显然无法工作,因为我们只是在运行本地应用程序,没有网络连接,甚至没有服务器连接。非常清楚,我需要使用c#中的跨平台GUI。我也不是问最好的选择是什么,甚至还有什么可能的选择。我和开发人员将离开那里。

提前

thx,RUWO

2 个答案:

答案 0 :(得分:4)

您可以根据自己的需要选择一些选项:

  • Gtk# 是用于mono和.Net的图形用户界面工具包。该项目将gtk +工具包和各种GNOME库绑定在一起,从而能够使用Mono和.Net开发框架进行完全本地的图形化Gnome应用程序开发。

  • Eto 该框架可用于使用其本机工具包以及易于使用的API来构建在多个平台上运行的应用程序。这将使您的应用程序使用一个UI代码库在所有平台上看起来都像本机应用程序一样工作。

  • CoreUI/LibUI 与可移植C库的绑定。 C语言中的简单且可移植(但不灵活)的GUI库,使用其支持的每个平台的本机GUI技术。

  • Avalonia (仅出于完整性考虑)是WPF启发的基于XAML的跨平台UI框架,提供了灵活的样式系统并支持多种OS:Windows (.NET Framework,.NET Core),Linux(GTK),MacOS,Android和iOS。

  • QtSharp Qt的Mono / .NET绑定 该项目旨在创建包装Qt(https://qt-project.org/)的Mono / .NET库,从而通过C#启用它。

由于工具和社区,我个人会选择 GTK#

答案 1 :(得分:0)

.NET Maui现在是最近的一个选项,由Microsoft开发。