今天
google时无意中看到一个
wiki上提到了
winx。这是一个
介绍WTL的网站(其实整个网站是一个开放的wiki系统,你也可以在上面申请一个space写自己的内容,也可多人协作),作为比较,其中列了一些知名的C++界面库。包括:MFC、ATL、QT、U++、SmartWin++、wxWidgets、VCF、JUCE、WINX、Win32GUI。
无疑,WINX是其中最年轻的一个。作者对各个库均作了简要评价。关于WINX部分的原文如下:
WINX
is a very different proposition from the other GUI libraries and frameworks presented here: this open source (CPL) GUI library is built on top of WTL in an attempt to make WTL easier to use. It is fair to say WINX mostly succeeds.
However this model presents some obvious risks such as the likelyhood of the library to break if drastic changes are made to WTL. Another potential issue is that WINX appears to be the work of a single developer.
There seems to be little to no documentation or support available apart from this blog . Fortunately, the distribution comes with a large number of samples and tutorials including the port of a few WTL samples.
WINX is small, very recent, and in beta but is also a valiant attempt to democratise WTL and as such deserves to be successful.
However this model presents some obvious risks such as the likelyhood of the library to break if drastic changes are made to WTL. Another potential issue is that WINX appears to be the work of a single developer.
There seems to be little to no documentation or support available apart from this blog . Fortunately, the distribution comes with a large number of samples and tutorials including the port of a few WTL samples.
WINX is small, very recent, and in beta but is also a valiant attempt to democratise WTL and as such deserves to be successful.
由于我的英文不算好,翻译这完整的一篇文章有些吃力。仅翻译WINX相关的评价如下(我非常感谢如果有人愿意完整翻译这篇文字):
WINX是一个观念完全不同于这里提到的所有其他界面库(框架):这个开源(CPL)的界面库基于WTL之上,并试图使得WTL更加容易使用。客观地讲这一点WINX基本上成功了。
然而这个库存在几个显而易见的风险。例如由于WTL发生重大变化而破坏这个库的可能性(译者注:应该是指WINX不得不做相应变动)。另一个潜在的问题是WINX看起来只有一个开发人员。
从WINX的官方
blog
来看,似乎很少有可用的文档或者其他的支持。所幸的是,WINX的发布提供了大量的样例和指南,包括一些WTL移植到WINX的样例(译者注:其实还有MFC移植到WINX的样例)。
WINX是小巧的,非常新的,目前仍然处于Beta版。但是它是推动WTL发展的一个大胆的尝试,这种尝试理应获得成功。
----
补记:在此之前虽然收到过老外写来的关于WINX的信,但这是来自Internet的第一份评价。我很高兴终于看到第一份对WINX的第三方评价。虽然我觉得有些遗憾,第一份对WINX的评价居然不是中国人写的。这多多少少让我有些意外。
关于该文作者提到的WINX的三个问题,我这里解释一下:
- WINX基于WTL,这是因为我不想WINX去重复制造轮子。WTL发生重大变化的可能性太小,所以这个风险我觉得几乎不存在。
我看到有些网友建议我从Win32 API开始封装,来实现WINX。其实,你可以看到在WINX之前,所有的库都这么做。他们要么发展了若干年后才逐步有起色,要么至今仍然未广为人知。如果WINX选择了从Win32 API开始,那么今天,大家就不可能知道这个世上有WINX的存在。WTL是高效的,虽然它的接口有些丑陋,但极其灵活。我实在找不到理由不去用它。
WINX对WTL的态度是,重用它的代码(实现),而不是它的用法(使用界面)。这使得WINX从一开始就有一个制高点,因为WINX一上来从功能上来讲就是WTL的超集。
- WINX的团队建设中,并且目前已经确认为WINX团队成员的,均已经为WINX作出自己的努力了(我在考虑要不要建一个WINX贡献榜)。我们已经不是单兵作战了。:)
- WINX的中文文档建设中。英文文档目前确实过于匮乏了。如果那位英文好,有一定开发功底,并且有志于参与到WINX团队中来,我非常欢迎。