跨平台桌面GUI的首选开发平台?

时间:2020-12-07 12:28:41

The answers to this related question of mine lead me to choose Java for most of my backend services (it's a multi-component system). Now, I'm not sure whether that would be a good choice for cross-platform desktop GUI apps, as well. The Java desktop applications I remember using have that non-native look that I don't like, but I'm not sure if that depends on the choice of GUI toolkit rather than the language.

我的这个相关问题的答案让我为大多数后端服务选择了Java(它是一个多组件系统)。现在,我不确定这对于跨平台桌面GUI应用程序是否也是一个不错的选择。我记得使用的Java桌面应用程序具有我不喜欢的非本机外观,但我不确定这是否取决于GUI工具包的选择而不是语言。

Most of my GUIs will be web-based, and the desktop ones will have a relatively small audience (administrators, developers and testers), so I can only put aside a small fraction of my time budget to do those. Still, I want native look and avoid a bunch of dependencies.

我的大多数GUI都是基于网络的,而桌面的GUI将拥有相对较少的受众(管理员,开发人员和测试人员),因此我只能将我的时间预算的一小部分放在一边。不过,我想要原生外观并避免一堆依赖。

It's probably most adequate to start with the GUI toolkit I want to use and then pick a language that supports it. The cross-platform ones I know are:

从我想要使用的GUI工具包开始,然后选择支持它的语言,这可能是最合适的。我所知道的跨平台的是:

  • GTK
  • qt
  • AIR (when it arrives on Linux)
  • AIR(当它到达Linux时)

So, for example, I might use GTK# with .Net/Mono. What kind of dependency issues am I going to face? Would you recommend separating the actual GUI from the rest of the application and use GTK on Linux, and something native on Windows, like Windows Forms, thus avoiding to have to install GTK on Windows?

所以,例如,我可能会使用GTK#和.Net / Mono。我将面临什么样的依赖性问题?您是否建议将实际GUI与应用程序的其余部分分开,并在Linux上使用GTK,在Windows上使用本机,如Windows Forms,从而避免在Windows上安装GTK?

2 个解决方案

#1


Bruce Eckel is a great sponsor of Flex as cross-platform user interface, for both Java and python services. He wrote about it quite a lot, on Artima:

Bruce Eckel是Flex的一个很好的赞助商,作为Java和python服务的跨平台用户界面。他在Artima上写了很多关于它的文章:

#2


SWT is your answer. I worked on a project which used SWT and it looks great on whatever you throw at it. If you work with Java, then you probably have used the best example of SWT out there: Eclipse. It works with GTK, WinForms, Cocoa, Qt even Tk. Oh! And it's very easy once you get all the basics going on. Also, most of the components are ready. Another thing, GTK and C# are not that platform independent as you might dream of.

SWT是你的答案。我参与了一个使用SWT的项目,无论你投入什么,它看起来都很棒。如果您使用Java,那么您可能已经使用了SWT的最佳示例:Eclipse。它适用于GTK,WinForms,Cocoa,Qt甚至Tk。哦!一旦你掌握了所有基础知识,这将非常容易。此外,大多数组件都准备好了。另外一件事,GT​​K和C#并不像你想象的那样独立于平台。

#1


Bruce Eckel is a great sponsor of Flex as cross-platform user interface, for both Java and python services. He wrote about it quite a lot, on Artima:

Bruce Eckel是Flex的一个很好的赞助商,作为Java和python服务的跨平台用户界面。他在Artima上写了很多关于它的文章:

#2


SWT is your answer. I worked on a project which used SWT and it looks great on whatever you throw at it. If you work with Java, then you probably have used the best example of SWT out there: Eclipse. It works with GTK, WinForms, Cocoa, Qt even Tk. Oh! And it's very easy once you get all the basics going on. Also, most of the components are ready. Another thing, GTK and C# are not that platform independent as you might dream of.

SWT是你的答案。我参与了一个使用SWT的项目,无论你投入什么,它看起来都很棒。如果您使用Java,那么您可能已经使用了SWT的最佳示例:Eclipse。它适用于GTK,WinForms,Cocoa,Qt甚至Tk。哦!一旦你掌握了所有基础知识,这将非常容易。此外,大多数组件都准备好了。另外一件事,GT​​K和C#并不像你想象的那样独立于平台。