NET还是Mono vs Qt,哪一个用于跨平台开发?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

好吧,这是雷区,但试图理解为什么选择.NET(或等同于Mono)跨其他工具包的跨平台开发很困难,如果没有这两者的经验。

对于可能同时使用这两种功能的程序员,哪些功能会被忽略或需要?相反,在范式或其他方面,一个用户会发现另一个用户会失去什么?对这两种工具箱都有很多要说的,但是使用这两种工具的人的评论是有价值的。

如果Windows是目标平台之一,那么使用Mono是否仅仅是一个可行的选择?

提问于
用户回答回答于

可以选择Mono(也可能是C#)进行跨平台开发,其原因与某人选择Java或Python相同。这些语言运行在虚拟机上,如果仔细选择库和设计代码,它将跨平台工作(无需重新编译)。本地语言(如C,C ++)确实有标准,因此在多个平台上的语言是相同的,但是使用的编译器设置和库可能不是跨平台的(例如进程,网络等)。

除了技术问题之外,跨平台框架的熟悉还可以节省时间。例如,学习一个GUI库可能需要数周/数月。如果所有目标上的API都相同,那么显然您会节省时间。

Qt4设计良好,有据可查,并附带一些有用的,可靠的工具。wxWidgets随着数十个小部件变得庞大,其中一些小部件永远不会使用。Qt具有更少的更灵活的小部件。我过去经常使用wx,但由于LGPL许可证,优秀的文档,设计师,PyQt,新的IDE和不断增长的用户群,我现在是一个Qt转换器。

Qt和wxWidgets都具有Python绑定(即PyQt和wxPython),因此可以使用这些库编写跨平台GUI代码。对于单声道它更棘手,但有GTK#和Qyoto。我还没有尝试过其中任何一种,但他们似乎已经达到了足够成熟的程度(例如参见MonoDevelop)。

用户回答回答于

对于跨平台(和独特的平台),我会去Qt,因为它比Mono和Windows.Forms更清洁,并且使用MVC模式,所有应用程序都更容易扩展和修改

扫码关注云+社区