A1、1996年,德国人Ettrich发起KDE项目,是用QT写的基于“X Window System”的图形环境。(X Window是图形环境与Unix系统内核之间的桥梁)
B1、2004年之后,KDE丧失主导地位,GNOME赶超,究其原因,是KDE选择在QT平台上开发的,而QT在版权上的限制让很多公望而却步。
q1、在GNOME全面取得主导地位之后(Linux第一第二大巨头Redhat和Novell都支持),KDE现状如何?Ubuntu是什么来着?
授权方面的问题改观啦?NOKIA已经发布了开源的版本?
q2、为何说GNOME和KDE的竞争极富戏剧性,而且有哲学意义?
戏剧性的结局:致力于商业化的KDE反而失去了重量级商业企业的支持,尽管一些中小规模的Linux企业因技术能力问题将继续支持 KDE,但它的商业前途有限。而遵循GPL、完全不以商业化为目的的GNOME反而在该领域大获成功。
至于 KDE项目,虽然它失去这些商业巨头的支持,但没有能力转换桌面的中小Linux厂商将继续追随KDE,而且在非商业的社区Linux发行版中,KDE依然有强大的生命力。(几年前的论断)
q3、QT版权的现状?
1)商业版本,可做任何修改/开发不需公布,而且有技术支持;2)基于LGPL,也可开发自己的商业版本,但对QT的修改要回馈回去
3)GPL适用于完全的open source项目,你也可以强制要求别人给予你的软件的开发是GPL的。
B2、太肥
一个core就2M,gui又是几兆,启动速度和C#有的一拼,这是两个最基本的库,不清楚如果那天某个大程序吧QT的所有库全用完了,启动一个exe是不是比4G发行版的linux还慢?这就是“完全”跨平台的代价,Windows已经载入到内存中的界面/网络/线程等等的支持,全都用不上。
B0 s
B3、风格太C++了
B3、风格太C++了
这是不是和之前的矛盾呢?不,从QT几乎自己实现了一套STL看,QT对C++primer里那套东西是很看重的。不引发口水战了,说过编程规范是我定的,其中有一条就是——请使用QFile的直接io,一般情况下不要像教材那样在套上一层QDataStream;禁止文本或流方式读写文件,读写全部二进制操作,要格式化请处理字符串。
) @: x% E4 g
B4、国际化
B4、国际化
严格来说,QT的国际化比MFC要好的多,但是一个很严重的问题是——对于中文用户来说,基本都是用中文版系统的,但是QT必须显式设定字符编码才能显示中文(实际上这样做国际化支持会比较好),但个人很不习惯。
. s) x3 [- l+ h% U- u F g! }
b5、线程问题
b5、线程问题
QT不是Win32线程,太要命了