轻量级开源C++ GUI开发框架KWinUI发布
windows平台上的GUI框架已经有很多了,为什么还会有KWinUI?
答案就是轻量,高效,线程安全,并且可以完全掌控。
比较各种GUI Framework的优劣是没有太多意义的,存在的东西都有它存在的合理性和适用的范围。从来没有能满足所有需求的东西,C++亦如是,虽然它是如此的强大。KWinUI来源自开发实践,是做一个项目过程中产生的。对于一个界面并不算复杂的小项目来说,那些重量级的framework太过沉重了,而每次用SDK来写界面,显然又过于繁琐了,所以有了KWinUI。KWinUI使用C++来包装windows SDK,并没有使用太复杂的技术,太复杂的我也不会:),主要使用了thunk技术和C++模板的静多态特性,并且仔细考虑了线程安全,毕竟在这个多核的时代,如果不是线程安全的就显得不那么in。
跨平台不是KWinUI的诉求,现在不是、将来也不是,现在就有很多十分优秀的跨平台GUI开发框架,比如VCF,wxWidget,gtk+,QT等。KWinUI更像是一个自娱自乐的产物,只是觉得它可能对其他一些人也有用处,所有采用lgpl协议将它公布于众,如果能对其他人有些微的帮助,那么开放它的目的就达到了。采用lgpl的好处就是你可以放心的使用KWinUI,就是在商业程序中使用也没有问题。但是如果你对KWinUI做了更好的修改,最好公布一下修改的代码,以便给其他人以帮助。就算KWinUI真的没啥价值,这样发布应该也不会对别人造成什么伤害,权当娱乐一回吧,呵呵。
KWinUI的主要特性如下:
轻量、高效、资源占用少、线程安全、使用简单,差不多就这些了。
KWinUI因为使用了模板技术,所以就是一堆头文件和几个cpp文件,使用起来相当简单,后面我会继续发几个简单的sample来演示如何使用KWinUI。
如果非要有一个版本号的话,那么就定为 0.1.0吧,因为KWinUI实在是挺稚嫩的。
如果有人对KWinUI有兴趣,欢迎对它进行进一步的修改。
KWinUI的全部源程序从此下载,很小的,我保证你瞬间就能下载下来:)