WPF还是GTK?哪个更好?

4

我要开始一个使用WPF的新项目,最近一周我阅读了很多关于它的资料,发现它非常有用。但是最近我接触到了GTK,它是开放的,并且具有大部分WPF的功能。

哪个更好(通常)?对我来说,GTK是更好的选择还是不是?

我使用.NET,我的客户正在使用Windows(XP SP2及以上版本)。


1
GTK+/Gtk#有大部分WPF的功能吗?你怎么知道的?你在哪里读到的? - BoltClock
@BoltClock,通过“Most”,我指的是我需要实现我的应用程序的大部分内容。 - Nasser Hadjloo
4个回答

6
我在Windows平台下使用GTK,因为Windows是我最喜欢的开发平台,但在生产代码中,GTK仅适用于Unix(Linux/FreeBSD)平台。这对于Windows7上的生产代码来说非常遗憾。目前已经提到了umlaut键的错误,还要添加弹出窗口和焦点事件的问题。
此外,尽管GTK网页称其为多平台,但团队并不在乎Windows和MacOSX。这种敌对态度使得使用代码更加糟糕和危险。一个好的迹象是他们没有想出一个易于编译的VS2010环境。我不明白为什么写简单的makefile会很困难。
在Windows上除了使用WPF或MFC之外别无选择。而在MacOSX上,您必须使用Cocoa。Windows7和Cocoa都已经废弃了大部分主题引擎,这意味着(这是一个明确的战略目标),开发人员必须长期使用平台GUI工具包。

嗯,其实不完全正确,虽然有机会,但这并不明智。 - Paul Michalik
3
他们并不是对Windows或MacOSX有敌意,只是这是一个社区项目,Windows或OSX用户不愿意参与其中。GNOME团队正在大部分工作,但他们没有足够的时间、资源或知识来承担全部责任。如果有Windows用户加入贡献,情况可能会改善,否则GTK 3的Windows版本将仍然笨重。 - liberforce

3

...但最近我熟悉了GTK,它是开放的并具有大多数WPF的功能。

嗯,我怀疑这个说法是否经过了彻底的分析。WPF实现了许多被认为有一天会被GTK实现的功能和能力,但如果你不介意等待......

我使用.NET,我的客户正在使用Windows(XP sp2及以上版本)。

什么?你正在使用.NET,并考虑使用其他演示前端,而这些前端已经与平台完美集成?我不明白。我假设你真正指的是.NET(即CLR / CLS规范的Microsoft实现)。


1

我在GTK方面遇到了各种问题,因为键盘支持在Windows上并没有真正地工作。Umlauts等等...都无法被正确识别。这在我在Windows上使用的每个GTK应用程序中都发生过,所以这不仅仅是在我的应用程序中出现的问题。

https://bugzilla.gnome.org/show_bug.cgi?id=371371

因此,在Windows上,GTK对我来说从来不是一个选择(甚至不能使用我的自己的应用程序)。
相比之下,WPF试图将一些任务分解得比GTK更细致。这意味着设计师和程序员应该能够更好地分配他们的工作。

是的,GTK+和WPF是两个完全不同的工具包(我甚至不知道WPF是否可以被归类为工具包)。尽管有字母P,但WPF远不止于UI。 - BoltClock

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接