好的,这是雷区,但试图理解为什么人们会选择.NET(或等效Mono)进行跨平台开发而不是其他工具包很难没有经验.
对于可能同时使用两者的程序员,会遗漏或期望哪些功能?相反,一个人的用户在范例或其他方面会发现什么?任何一个工具包都有很多要说的,但是使用这两个工具包的人的评论很有价值.
以下是有关该主题的一些相关问题:
GUI API
编程挑战
你用Qt吗?
Windows下的GTK或Qt
编辑: 如果Windows是目标平台之一,使用Mono只是一个可行的选择吗?
您可以选择Mono(也许是C#)进行跨平台开发,原因与有人选择Java或Python的原因相同.这些语言在虚拟机上运行,如果您仔细选择库和设计代码,它将跨平台工作(无需重新编译).本地语言(如C,C++)确实有标准,因此语言在多个平台上是相同的,但您使用的编译器设置和库可能不是跨平台的(例如进程,网络等).
除技术问题外,跨平台框架的熟悉程度可以节省时间.例如,学习GUI库可能需要数周/数月.如果API在所有目标上都相同,那么显然可以节省时间.
Qt4设计精良,文档齐全,并附带一些有用的实用工具.wxWidgets正在变得越来越庞大,有几十个小部件,其中一些你永远不会使用.Qt的小部件更少,更灵活.我曾经使用wx相当多,但我现在是Qt转换因为LGPL许可证,优秀的文档,设计师,PyQt,新的IDE和不断增长的用户群.
Qt和wxWidgets都有Python绑定(即PyQt和wxPython),因此您可以使用这些库编写跨平台GUI代码.对于Mono而言,它更棘手,但有GTK#和Qyoto.我没有尝试过这两种方法,但它们似乎已经达到了足够成熟的程度(例如参见MonoDevelop).
对于跨平台(和独特的平台),我会去Qt,因为它比Mono和Windows.Forms更干净,并且使用MVC模式,所有应用程序都更容易扩展和修改