Platform Independent Widgets
这两天一直在尝试各种能够跨平台的Widget,为了以后编写程序的时候可以方便快捷。在现在常用的几个Widget库中,GTK和QT都是同时有多个平 台的版本的,但从成熟度上来说,QT要比GTK强,可QT的Windows版本是要钱的,同时网上只有2.x的版本下载,因此QT并非一个毫选择。另外就 是wxWidget,这个Widget就是为了跨平台运行而设计的,但是其稳定版本在Linux上用的是GTK1.x,效果比较差,对中文的支持也不好。
综合以上各种因素,在三个套件中,wxWidget和GTK都是不错的,如果主要为Windows平台设计,wxWidget是首选,但如果主要为Linux平台设计,GTK2是首选。
在 具体的编程语言方面,可选的是C、C++、Python等,C/C++的性能好,但编程需要的技巧也比较高。Python这个方面,今天我在 win4lin中实验的时候运行并不是很快,不知道在native的系统上是否速度能有比较大的提升。在linux上,Python是首选的编程语言,主 要是因为它编程的速度非常快。
综合以上多方面的因素,在选择Widget和编程语言时,如果主要为Linux开发,GTK2不错,语言可以用Python、C++和C,如果主要为Windows开发,wxWidget不错,编程语言首选是C++,其次是Python。
GTK2 的Win32 Port有很多个版本,各个版本之间恐怕兼容上也有些问题,现在我用起来感觉比较好的版本是Dropline的,但这个版本已经不再开发了。PyGTK可 以在Dropline的版本上运行,据说也支持glade和多线程。另外gladewin32的版本据说运行gtkmm比较。还有另外一个版本好像比较官 方,但安装起来挺麻烦的。如果要用,Dropline版本首选,但如果有精力还是想办法自己Build需要的东西并打包。
此外GTK2和KDE3在Win32上都有一个Cygwin的版本,它们还可以在cygwin的Xfree86中运行,因此有机会可以试试cygnome和cykde等。对于Windows用户而言,这是一个尝试Linux的方式。