1.2 wxWidgets的历史

1992年,Julian Smart在Edinburgh大学开始制作一个叫做Hardy的图表工具的时候,为了避免其发行版本在Sun的工作站和各种PC之间作选择,他决定使用跨平台的编程框架。但是当时可选的跨平台的编程框架不多,而他的部门也不可能给他很多的预算,所以他只能自己创建一个自己的跨平台编程框架。这样, wxWidgets 1.0诞生了。 1992年9月,学校允许他把他的wxWidgets 1.0上传到部门的FTP服务器,因此别的一些开发者也开始使用他的代码。最开始的时候,wxWidgets是面向XView和MFC 1.0的,由于Borland C++的适用者抱怨其对MFC的依赖,所以Julian Smart用纯Win32的代码重写了wxWidgets。又因为XView很快被Motif取代,很快,Widgets提供了对Motif的支持。

不久以后,一个很小但是却很付有激情的wxWidgets用户社区成立了并且拥有了自己的邮件列表。大量的新代码和补丁开始融入到wxWidgets中,其中包括Markus Holzem提供的Xt的支持。wxWidgets也自然的拥有了越来越多的来自世界各地的使用者:独立工作者,学术机构,政府机构以及很多企业用户等,他们认为wxWidgets提供的产品质量和产品支持甚至好过他们见过的或者用过的其它商业的产品。

1997年,在Markus Holzem的帮助下,新版的wxWidgets 2 API问世。此时,Wolfram Gloger建议应该提供GTK+的支持。GTK+是被GNOME桌面系统采纳的一套窗口控件。于是,Robert Roebling开始领导GTK版本的wxWidgets的开发,现在wxWidgets的GTK版本已经成为其在UNIX/LINUX下的最主要的版本。到了1998年,Windows和GTK+的版本被合入版本控制工具CVS。Vadim Zeitlin加入到项目中来帮助管理和维护如此大量的设计和代码,同年,Stefan Csomor开始着手增加对Mac OS的支持。

1999年,Vaclav Slavik的令人印象深刻的wxHTML类和HTML帮助文件显示控件被加入进来。2000年,SciTech公司开始开发wxUniversal版本,这个版本提供属于wxWidgets自己的不依赖于任何其它图形库的窗口控件,以便支持那些没有原生窗口控件库的操作系统。wxUniversal最初被用于SciTech公司的MGL产品,这个产品为图形用户界面提供了底层支持。

到了2002年,Julian Smart和Robert Roebling在wxUniversal的基础上提供了wxX11版本,这个版本仅依赖于Unix和X11,因此它几乎适用于任何的类Unix环境,所以,它可以被用在相当底层的系统中。

2003年,wxWidgets开始了对Windows CE的支持,同年Robert Roebling在GPE嵌入式Linux平台上演示了使用wxGTK编写的程序。

2004年,因为收到微软的商标方面的威胁,wxWidgets被迫从它原来的名字"wxWindows"改名。

同样是在2004年,Stefan Csomor和一大群热心的参与者彻底的修改了wxMac OSX版本,OSX版本的功能和性能都得到了极大的提升。而David Elliot领导的小组正在稳步的开发一个基于Cocoa的版本,William Osborne也着手开发一个可以支持wxWidgets的"minimal"例子的Palm OS 6的版本。 2005年4月,2.6版的wxWidgets发布了,几乎所有的平台版本在这个版本都有了大幅的改进和提高。

wxWidgets将来的计划包括:

  • 一个包管理工具,使得集成第三方工具变得容易。
  • 更好的嵌入式支持。
  • 更好的事件处理机制。
  • 增强型控件支持:比如一种捆绑了树形控件和列表控件的控件。
  • wxHTML 2提供在各种平台下的完整的Web能力支持。
  • STL标准兼容
  • 完整的Palm OS支持