为什么没有简单的跨平台C/C++ GUI工具包用于高级语言?
我有一点编程经验,之前用过Swing(Java)和wxPython。几年前,我需要把一个应用程序移植到OS X上,结果我在wxPython上遇到的问题变得更多了。我开始寻找其他选择,但没有找到比wxPython更好的。QT是唯一一个稍微接近的选择。GTK在Windows上简直是一场噩梦(我上次检查时是这样的)。
我觉得我遇到的问题并不是个例,可能还有其他人也经历过类似的情况。
那么,为什么没有一个图形用户界面(GUI)工具包具备以下特点呢:
- 简单。基本的窗口/对话框(本地打开和保存)+ 一套基本的控件,并且有良好的布局管理。额外的(复合控件)可以作为额外的库来实现。
- 在OS X、Linux和Windows上都在积极维护。
- 至少有3种高级语言的绑定,并且这些绑定也在积极维护。
- 有积极维护的文档,介绍最佳实践的GUI开发,并且有使用这个工具包的示例。MVC/MVP的概念要讲解清楚。GUI的设计指南(苹果风格)要简单易懂,包含语义、范式、最佳实践、对齐、适当的间距,以及大量成功软件的优秀示例。
- 提供一种简单的方法,能够为这三种目标平台构建可分发的可执行文件,适用于每种语言。
- 尽量靠近底层实现,使用像Clutter、cairo等现成的库。
这些要求是不是太过分了?如果是的话,为什么呢?
帮我理解一下,为什么没有这样的小型库可用呢?
6 个回答
0
我猜想,Windows开发者可能不太在意,因为他们有WPF等工具可以用,而Linux开发者也不太在意,因为他们已经习惯了这种情况。所以,只有那些厌倦了Windows开发、转向Linux的人才会接受这个想法。也许是时候让你开始一个开源项目了 :) 我在想,类似于WPF但基于OpenGL的东西会是个不错的起点。
2
你问的其实是一个简单但灵活性很大的库。这个库需要能够创建3 * 3个可执行文件,拥有良好的文档,并且能够使用其他背景不同的库。而且这些都要在不同的操作系统平台上实现。这确实是个挑战,我觉得QT可能是最接近的选择,但它并不能完全满足你所有的要求。
5
你试过 Qt
吗?它是一个跨平台的 C++
图形用户界面工具包,可以用在更高级的语言上(比如 PyQt
)。对我来说,它看起来非常简单。