前言
关于 Harri Pasanen
和 Robin Dunn
以及wxPython
的传奇故事确切的开始时间是1995年。本书的合著者之一,Robin 写下了下面这段关于wxPython
的文字,而我们决定让故事由参与者自己来讲述,而不是籍由旁人加以引述:
1995年,我所进行的一个项目需要在HP-UX系统上部署一个图形用户界面,但我的老板却同时希望在几周后的一个内部展示会上通过Windows3.1掌上电脑来进行一些演示。因此,我开始搜寻跨平台的C++ GUI开发包来进行原型开发。在那个时候,因为没有Google,要完成这样的工作实非易事。但我还是发现了一些商业化的可选开发 包(今天已经无一幸存)和大量的免费开发包。
当我正在评估分析哪个免费开发包符合当前的紧急需求,并决定哪个商业产品能够满足我们的长期需求时,我偶然看到了 wxWidgets 网站的术语“Python绑定”(这里“绑定”一词指
Python
语言和wxWidgets
开发包之间的联系。)由于对如何将软件开发包“绑定”到爬虫动物(在此之前,我从来没有听说过Python语言)充满好奇,我顺着这个链接一个个的点击,直到看到“Python 1.2 入门文档”。三个小时后,我从当地的C++倡导者变成了Python的传播者,不断叨扰周边的开发者,向他们展示我的最新发现。我开始和芬兰的
Harri Pasanen
一起致力于推进Python
和wxWidgets
的绑定(在Edward Zimmerman
的协助下,最终形成了众所周知的wxPython 0.2
),而不是继续我的原型开发。发行声明的邮件列表归档于此处 我们使它的功能强大到多足以让我能够用Python
为老板建造一个原型。但是wxPython
的维护和改进工作却是一个噩梦,因为每件事情(包括C++
扩展模块代码、Python
代理模块、编译系统等等)都是手工完成的,wxWidget
的一点点改进都会导致要修改多处wxPython
代码,以确保wxPython
得到改进或修订。当代码增加上几万行时,这种工作方式变得非常笨拙和琐碎。另一个客观事实是:缺乏一个中心源代码库(那是SourceForge
出现之前的时代),因此我们不得不通过电子邮件互相发送代码更新,你可以想象得到这其中的难度。大约在此时,我不得不“真正”开始主项目的开发了。在我的支配下,项目开发者们一起进行设计会晤、设定开发期限,从眼中的灵光一现开始,完成整个项目的开发。尽管还可以用
Python
来进行一些编译及项目的测试脚本,我发现自己又完全回到了C++
世界。Harri
也无法在上面投入任何时间了,因此wxPython
的开发变得比“爬行”还慢,有时甚至进入了停滞状态。1997年,我发现了
SWIG
(简单封装和接口产生器),并意识到它可以帮助我们解决wxPython项目中困扰已久的所有维护问题。在三、四周的业余时间里,通过使用SWIG
,我几乎将wxPython
的全部重新实现了一遍,而在此前用手工完成这项工作耗用了我几周的全天时间以及Harri几个月的兼职时间。在转向其他项目一段时间后,我发现wxWidgets 2.0
正在积极开发中,而且有了一个全新的架构,因此我不得不重新完成这项工作。但这次,新的架构简化了大量的工作,我仅用了一周的业余时间就完成了!因此,在1998年夏天,第一个“现代版本”的wxPython顺利发布,并从此一直处于活跃开发状态。第一份声明归档于:此处 正如他们所说的,剩下的部分就是传奇故事了。必须特别说明的是:
SWIG
使得我能够轻松创建和维护成千上百行的代码,因此wxPython
的多种功能特性必须感谢David Beazley
以及其他项目参与者对SWIG
的贡献。
通过此书,我们希望能够与您分享对于wxPython
的热情,在轻松开发图形用户界面应用程序方面,它是真正的独一无二的开发包。我们写作的初衷是不但为初学者,也为专业人员建造一项有用的资源。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论