wxwidgets是一个 c++编写的用来提供gui开发的框架。它包含一个可以支持现今几乎所有操作系统
(Version 2 currently supports all desktop versions of MS Windows, Unix with GTK+,
Unix with Motif, and MacOS. An OS/2 port is in progress.)的GUI库和其他一些很有用的工具,
提供了类似MFC的功能。而且,特别要说一下,这个c++lib还的新版本还提供了对掌上电脑的支持。
当然,说到这里很多人会想到java队多系统的支持,其实这是不一样的,java的跨平台是建立在
“中间代码”的基础上的,就是说需要在目标平台上安装java解释器;
wxwidgets是c++库,经过编译后,他提供的是native级的机器码,
wxwidgets有什么特别之处呢?比起其他的跨平台gui库,有什么好处呢?
1、免费
主体框架的授权协议支持商业免费应用,其外围功能库中很多也是lgpl授权的,
2、 他是跨平台的gui库,支持的操作系统很全面,甚至支持pda(说不定过一段时间他都能够支持symbian了)。
此跨平台非彼跨平台,它虽然不像java那样是“全面”的,而仅仅是gui库,但是gui是计算机编程中,
最为麻烦、耗费时间、容易出现bug的部分,特别当你想要自己的软件运行在多个操作系统上的时候,
开发和维护的难度让人难以想象。
其实c++也是支持“跨平台”的,因为c++可以在任何平台上编译运行,之所以没几个人说他是跨平台的,
问题就出在变量长度和各操作系统的gui(这里的“界面”我指得是很广义的)上,如果解决了gui的问题,
基本上就解决了c++的“跨平台”问题——至少不用为每种平台都维护一份源代码了。
3、 wxwidgets提供的gui是大量使用宏的,这就意味着它是在尽可能的使用目标系统native的gui样式。
4、 它支持的编译器也很多
5、 wxwidgets一直都在快速稳健的开发中,周边工具也越来越多。
随着m$开始全力支持他的.net,c++成了“没落”的语言,但是不可否认,c++还是有很多用武之地的,
所以根本不可能真正没落。没有了超牛X的支持,地球人自然开始寻求新的发展方式,wxwidgets这种开源
免费,且允许商业应用的好东东,自然会被人们所重视。