正文

放弃MFC,转学wxWidgets2007-04-10 20:00:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/oopfem/24762.html

分享到:

    Julian Smart 1992年在Edinburgh大学的人工智能程序学院开始开发wxWindows。在1995年 Markus Holzem完成了Xt版本的移植。在1997年Windows 和 GTK+ 的移植版整合并放入了 CVS 档案库。2004年更名为wxWidgets。      wxWidgets是用来为普通桌面程序和移动设备程序开发用户界面的工具包。由于它是一个框架(Framework),所以它在提供标准程序行为的同时也消除了程序底层的复杂性。wxWidgets库包括了大量的类和方法供程序员使用,甚至可供程序员定制其中某些类别以满足不同的需求。一个典型的应用程序窗口包括标准的控件,特殊图形的绘制和对来自鼠标键盘等输入设备的响应。同时也与其它进程通信或是驱动其它程序。换句话说,程序员利用wxWidgets开发软件,能实现现代程序能实现的所有功能,并且相对轻松。     尽管wxWidgets通常被成为“用户图形界面开发工具包”,但事实上它所提供的功能决不仅限于此。它的其他特性能够应用与软件开发的各个方面。这个特点很重要,因为所有基于wxWidgets的应用程序都应能移植到不同的平台,而不仅仅是移植界面。wxWidgets提供了各种类库用以支持文件流(files and streams)、多线程、程序设置、进程间通信、在线帮助、数据库访问等等 wxWindows为你隐藏了全部平台相关的代码。它是一个与平台无关的framework,它有如下特点:    它是非常全面的,拥有很多实用的类。It is very complete. There are many utility classes. 它仍然在快速的发展中。It is still heavily developed. 支持很多的编译器与平台: Windows, Linux, Mac, Unix. 拥有大量的文档。There's a lot of documentation. 个人与商业机构都可以自由的使用它。It's free for personal and commercial use. 只要可能wxWindows就使用本地SDK。这表示如果一个程序是在Windows下编译的将有典型的windows程序的外观与行为, 当它在Linux下编译时它将拥有linux程序的外观与行为。     我们不禁要问,为什么不用Java呢?事实上,尽管Java非常有利于开发网络程序,但在开发桌面应用程序的时候,Java并不是一个很好的选择。通常情况下,采用wxWidgets框架开发的C++程序由于不依赖Java虚拟机,所以运行速度更快,具有更多的可视外观,并且易于安装。同时C++支持更多的系统底层访问,与已有的C/C++代码也很容易融合到一起。由于以上原因,现在我们通常使用的桌面应用软件只有极少一部分是采用Java开发的。使用wxWidgets进行开发,能给用户带来更高的运行效率和更真实的界面效果。     wxWidgets是一个开源项目,使用wxWidgets不需要支付任何的费用,这也使得wxWidgets具有更深层的哲学和战略上的意义。开源软件的存活期都很长。作为使用wxWidgets的程序员,你知道你所依赖的代码永远都不会消失。在使用时遇到问题,也可以通过修改源代码来解决。如果加入开源社区,你能获得更多的乐趣,开源项目的参与者通常都在这里,因为他们热爱自己的工作,迫不及待的希望与大家共同分享自己的知识和经验。这比寻求公司支持人员的帮助要好,因为这些支持人员一般都没有开源社团参与者如此大的动力。选择wxWidgets,也意味着你选择了一个不可思议的智慧的结晶,因为参与开发wxWidgets的人员具有广阔背景。很多时候,你为实现某些功能,需要费尽全力的编写代码,然而很可能这些功能已经被这些开发人员封装成为很容易使用的类,你需要的只是在你的代码里正确的使用它们。你也能通过邮件列表从活跃的用户社区寻求帮助,和不同的程度的开发人员进行讨论各种问题。或许有一天,你也可能成为成功的wxWidgets开发成员中的一员!     wxWidgets获得了业界广泛的支持,用户包括AOL(美国在线), AMD, CALTECH(加利福尼亚理工学院), NASA(国家航空和宇宙航行局), the Open Source Applications Foundation(开源项目基金会), Xerox(乐施)等著名企业和机构。wxWidgets的用户群遍及各个领域,从个人软件开发者到大型软件公司,从计算机学院到医疗研究机构,从生态学研究到电信产业。它也被运用于无数的开源项目,像Audacity音频编辑器,pgAdmin III数据库设计管理系统等。     人们选择wxWidgets的理由很多,有的是希望寻找一个MFC的替代品,有的希望使自己的程序能轻易的在各个平台上移植。wxWidgets也将移动平台作为挑战,目前支持嵌入式Linux平台,微软Pocket PC,以及即将完成的对Palm OS的支持。  

阅读(11939) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册