Wednesday, August 16, 2006

WxPython 编程指南 前言


WxPython最早开始与1995年,由Harri Pasanen和 Robin Dunn发明。 Robin同时还是本书的核心作者。我觉得应该把WxPython诞生的故事告诉大家。
早 在1995年我工作的一个项目需要开发的应用可以运行在HP-UINUX的平台上,但是我的老板还希望这个程序可以在他的笔记本电脑上的 Windows3.1系统上。 于是我开始寻找一个平台独立的C++GUI工具。在那时还没有Google,所以找的很辛苦。但是,我还是找到了几个商业工具(今天这些工具已经不负存在 了)还有一些免费的开源工具。
在我评估哪个免费工具适合我近期的应用并选择为使用那个商业工具作为长期应用拿不到主意的时候。我在 wxWidgets网站上看到了“Python 群组”(这个“群组”中提到了Python和wxWidgets之间的联系)。我对此充满了好奇(在这之前我从来没有听说过Python语言),我在 Python1.2指南中一个一个的打开链接。3个小时后我从一个C++大师变成了一个Python布道者。我向周围所有的开发人员介绍和掩饰我找到的好 东西。
我放弃了开发程序的原型,开始和Harri Pasanen在荷兰以前研究wxWidgets与Python的绑定。当时的wxPython0.2还得到了Edward Zimmerman.的帮助。当时在邮件列表中的发布声明档案可以在这里找到(http://www.google.com/groups?selm= PA.95Jul27032244%40ok.tekla.fi&oe=UTF-8)。当时的版本具备了基本的功能,足够我的老板使用它创建原 型。但是当时的使用wxPython开放简直是个恶梦,因为所有的开放都是手工编写(C++实现模型代码,Python作为代理模型,编译系统等等工 作),一个小小的改动或者完善都要在wxPython代码中修改多处。当代码达到数万行的时候开始变得越来越笨拙、脆弱。那时还没有源代码仓库的概念 (sourceforce.net还没有出现),我们通过emial互相交换代码-代码的变更难于控制。
那时,我必须为我的主要项目作些“实际” 的工作了,每次开放会议上我手下的几个开发人员都看着我项目的最后期限也快到了,并且我发现我又完全回到了C++的世界,尽管这时我已经可以使用 python为项目作一些东西,或者些测试脚本。Harri也没有更多时间花在这上面了,所以wxPython的开发变得越来越慢,甚至最终几乎停滞不 前。
1997年,我开始研究SWIG,我注意到它对于发布的wxPython项目维护很有帮助。在接下来的3、4周里通过SWIG我几乎解决了 wxPython中遗留的所有问题,后来又全力的工作了几周并和Harri利用几个月的时间手工完成了大部分工作。在完成了另一个项目之后不久,我意识到 可以开发wxPython2.0了,但是需要一个全新的架构,所以我必须从头再来。不过新的架构开放只用了一周的时间。所以在1998年的夏天,第一个 “摩登版本”的wxPython发布了,并且到了一个活跃的开发阶段。第一个版本发布文档在这里(http://groups.yahoo.com/
group/python-announce-list/message/95)
如你所见,以上就是wxPython的历史。特别需要提到的是SWIG让我可以轻松的控制成千上万行的代码,所以说David Beazley和其他开发人员为wxPython作出了巨大的贡献。
在这本书中我希望和你共享wxPython中振奋人心的部分,这是一个非常易于使用的GUI工具。我们写这本书的目的是为初学者和开发人员提供有用的参考资源。

No comments: