转贴一篇《KDE4杂谈》 (图)



KDE4杂谈

从《易》说起
《易经》中的易字是什么意思呢?

按汉代的《易纬·乾凿度》所言“《易》一名而含三义:所谓简易也,变易也,不易也。”

简易
万事万物的发展,都是从简易到复杂,再由复杂到简单。KDE3经过五年的发展,功能越来越多,软件也越来越多,同时它的包袱也越来越重,软件也越来越臃肿,维护也随之越来越困难。而KDE4适时出现,发掘主要矛盾,对KDE进行一次由下而上的重新洗牌,把复杂的问题简单化,把凌乱的问题条理化,把分散的问题集中化。实在深得简易之道啊!看来虽然东西方文化的有所差异,在实际问题上却殊途同归!
关于KDE4的发布时间
Allen Winter公布了KDE4的开发计划表。

* 2007-04-01子系统冻结
*
o 从此日开始kdelibs不再接受大的子项目。
o 所有的类的位置都将固定在kdelibs目录下。
o Trunk目录中开始包含KDE4代码。
o 基于KDE3的其它程序移至/branches/stable,并在始继续开发。
o 系统构建依赖关系固定。

* 2007-05-01 alpha版发布,kdelibs软件API冻结
*
o 将全面应用Qt4.3。
o 除非核心开发者同意,所有类与界面都不允许变动。
o 想要更改API的话,必须向kde-core-devel邮件列表提交申请,说明理由并附上代码。如果一周内无人反对,变动才允许提交。

* 2007-06-01 特性冻结
*
o KDE主要模块新特性冻结。
o 不再允许加入新特性,从此日开始关注程序的稳定性并解决bug。
o 所有主要模块的维护者必须指出是否能按时刻表完成任务,或者退出不与KDE4.0同时发布。

* 2007-06-25 Beta版周期,所有kdelibs API冻结
*
o 从此日起,每月发布一个Beta版,直到大量严重的漏洞得到解决为止。
o kdelibs的API正式完全冻结。
o 程序中字符串不能再改变,翻译工作全面启动。在Beta2版中加入翻译文件。

* 2007-09-25 RC版周期
*
o 从此日起,每两周发布一个RC版,直到所有严重的漏洞得到解决为止。
o 首个RC版发布后将迎来总体的发布冻结。除了后退(因KDE4移植而导致破损)或漏洞修补,不允许做任何事。
o 从首个RC版开始,KDE4.0中将包含语言包。

* 2007-10-23 KDE 4.0发布
*
o 发布日期视三个Beta版与两个RC版的具体情况而定。

移植问题不大
Qt4与Qt3相比,有了较大的改进。但总体来说,变化并不太大,只需对Qt4对 Qt3的改进之处多加了解,KDE3向KDE4的移植问题便很容易解决。我这可不是在胡说,在Qt4刚出现的时候,的确有很多老手都在抱怨变动太大,搞的头昏脑胀程序才勉强跑的起来。但随着开发者们Qt4开发的经验的增多,这种提法渐渐消失了。很多开发者都在博客中表示,困难并没有想象中的大。另外 CMake的使用反而提高了程序构建的效率。Matt Rogers如是说:“It was stupid easy”。

所以我们要对这个计划表有信心才对。

变易
作为五年来最重要的发布版本,KDE4有着足够的理由求变。KDE3发布已近五年,它体现的是对KDE2的继承与否定。而KDE4所要继承的更多,否定的也不少。我在此简短地对几个新事物作个描述,虽然它们还处于开发中,但现在所表现出来的功能也足以令人心潮澎湃了。

Solid横空出世
KDE1中,KDE通过kfilemanager使用一种特殊的链接形式来访问文件系统,对其它设备却无能为力。KDE2也没有什么真正的改进,它只增加了adhoc来处理软盘和CD。在很多情况下,我们只能手动建立设备链接。KDE3才在这个领域有所创新,不过它的改进也太慢了,从3.0改到3.5才解决了不依赖底层平台的情况下对热插拔设备进行了支持。但这种支持仍然不够彻底,KDE3.5中有时还会面对一些莫名其妙的错误。特别是很难访问某些冷僻的媒体设备,还有从桌面上进行网络设置非常困难。

桌面程序与底层系统更出色的集成工作是KDE4的最重要的课题之一。Solid应运而生,它首创了对硬件与网络设备与KDE及其它系统的无缝集成。KDE4上的各个应用程序都会通过它来操作硬件,有了它的存在,使用KDE4将跟使用Windows一样方便。比如配置网络只要用鼠标指指点点就行了。是不是很值得期待呢?

优雅的Plasma
Plasma是个什么东西呢?它就是你将要看到的KDE4新桌面。但不同于现在的静态桌面,它是“浮动”的。大家都知道SuperKaramba吧,Plasma实现了SuperKaramba的功能,并且有了扩展。任何人都可以用动态语言来编写桌面器件,不会写的则直接通过百宝箱下载安装这些器件。器件、面板等桌面上所有东西都可以按你的要求随着移动位置甚至改变大小。

它的设置也偏向简单化,它屏蔽掉了复杂的一切;同时它也考虑到了桌面的可用性,不会因为变得漂亮而难用。真正的好处无法用语言来描述,只有当你真正用上了它的时候,你才会了解到什么才是“二十一世纪的桌面”。

方便的Phonon
Phonon是眼睛看不见的,它接管了KDE4中的多媒体这一类的复杂内容,使程序员们深受其益。详细情况可见通向KDE4之路(六),Troy在这篇文章中很简明地介绍了Phonon。可以很清楚的是,用以替代aRts的Phonon为程序员们带来的是前所未有的方便与简洁。

梦幻般的Decibel
Decibel是一项服务技术,而不是某个特定的软件,目前的版本号还只是0.3。它所带来的好处并不是在KDE4.0中能够发现的。它能给我们带来什么呢?答案是科幻小说里的生活。以它目前的已实现的功能来看,它可以用来发电子邮件,语音通话,即时通迅,也就是说今后的KMail、Kopete都可能会基于它来实现对外通迅工作。其实它的可怕之处是让任何软件都具备对外通讯的能力。例如,当你要与一个相距千里之外的人合写一个文档,你打开Kwrite或是Kword后只要与对方联线,对方就可以实时看到你所写的内容,并可以通过语音或文字来与你交流,甚至还可以直接指出你文档中需要更改的地方。这项技术也许会让KDE4变成一个梦幻般的平台,让我们共唱“我的未来不是梦吧”。

万能的Okular
对于Okular的具体情况请见通向KDE4之路(七)。这个可以察看ps,tiff,chm,djvu,images,dvi,xps,ooo,fictionbook,comicbook的Kpdf开发进展非常快,从去年下半年开始几乎每周都给我们带来惊喜。这个软件体现了开源的魅力,整合的优势。涓涓细流总有枯竭的时候,大江大河却总能得到支流。如果某开发者要是开发了针对某种文件格式的新特性,那么这个新特性也容易在Okular中应用于其它文件格式。Okular这个KDE中的文件察看器继承了开源软件的的历史与传统,在这一刻不是一个人在为它战斗,不是一个人。

争议中的Dolphin
Dolphin的出现并不晚,它在去年6月就在kde-apps上出现过了。当时,它并不引人注目。直到它被从playground中移到kdelibs中,大家都愕然发现,它将代替Konqueror成为KDE4中默认的文件管理器。一石激起千层浪,质疑声、否定声不绝于耳。

必须看到Konqueror的无所不能,它不但是个文件管理器,还是网络浏览器,图片察看器,音乐播放器等。得之于全,失之于精。Konqueror的全面势必影响到它的单个功能的发挥。文件管理器是一个桌面环境中最重要的部分之一,也是最常用的软件之一。Dolphin的出现正当其时,它的各项功能完全是围绕着文件管理而设计而优化,它小巧快速,并与Konqueror分享了功能代码。也许有很多的人还是希望使用Konqueror,但这不是攻击 Dolphin的理由。

Dolphin不仅在为KDE4带来一个新的文件管理器,同时它的出现也使Konqueror得到了相应的代码。可以说在开源软件中没有什么竞争对手,只有相互学习相互影响的伙伴。Konqueror中也没有剔除掉文件管理器的功能,只要经过配置,它也能成为“默认”的文件管理器。所以对Dolphin的攻击只能是打击了其开发者的积极性,而没有任何积极的影响。人不能为了反对而反对,眼光得长远,做人要厚道。

不易
无论是KDE3还是KDE4,它都是KDE。KDE的优势是不变的,KDE的精致是不变的,KDE的理念也是不变的。
KDE的行为习惯
KDE原本就指的是K桌面环境,从这个提法可以看出,KDE是一个偏重于用户体验平台。但是随着Qt4超强跨平台功能的推出,KDE4便开始了另一种形式的变异,它渐渐地从公认的开源应用桌面之王进化为最有潜力的跨平台开发环境。如果说这次转变的基础是Qt4的话,那么KDE的行为习惯就是这次转变的助推器。

我来解释下什么是KDE的行为习惯。KDE可以说是黑客们的舞台,是借以实现他们理想、体现他们懒惰的温床。当某一组程序同时想要实现某一种功能的时候,黑客们就开始动脑筋了:反正都是要做的,不如干脆单独地做一个软件出来,留几个接口,这样就一个做好大家能用。从人类行为学的角度来说,好奇心强、动手能力强的人一旦觉得想法成立,对自己的设想的实现总是显得非常迫不及待。黑客们无疑就属于这种人,灵感一来就一发而不可收拾,往往乐在其中。

KPart的KDE组件对象技术是这种行为习惯萌发的最重要的迹象。随着KDE软件从简单演化为复杂,从一枝独开演化到百花齐放,这种行为习惯就正式形成了。kdewallet的出现可以说是KDE行为习惯从更多地为用户服务演变到更多地为开发者服务的一个过渡。这个KDE钱包本身很小,对程序本身而言,开发者们若想加上密码保存功能其实也不花不了多少时间,但总的来说,还是简化了开发者们的工作。

为了在KOffice中加入各种解释性语言的支持,Sebastian Sauer编写了Kross。这个软件为KOffice中各个组件都提供了Python、Ruby等脚本语言的支持,有了它,KOffice中的其它组件就不用各自花时间为脚本支持提供独立的代码了。KOffice2的开发者们对Kross投入了大量工作,KOffice2中的脚本支持被誉为是KOffice2的杀手级特性之一。不仅如此,目前Kross已从KOffice中脱离出来,并被移入kdelibs作为KDE4中实现多脚本语言调用工作的基础。可以预想到KDE4中任何程序都可以得到近乎无限的扩展,动态语言与静态语言的结合将开拓出一个全新的领域。这次的KDE行为习惯不仅使用户们受益,更是方便了开发者,并触动了他们新的灵感。

上面提到的KDE4的新多媒体技术Phonon,这项技术同样表现出了KDE的行为习惯。Phonon对各项多媒体引擎如xine等进行了封装,开发者们不需要对其它多媒体引擎有太多的了解,只需应用好Phonon提供的接口,其它的事情Phonon都为你做好了,而且Phonon为你做的比你想象的还要多。另外Solid也类似于此,而它简化的是应用程序的对底层硬件的操作功能。

KDE的行为习惯大大减化了开发者们的工作,同时也促进了技术的融合与发展,也给终端用户提供了丰富多彩的功能。但可以发现,这种行为习惯的产生源于程序员们的懒惰,而也只有懒惰的程序员们才能玩出这么多的花样吧。这也许也算是不变的规则吧。

变易中的不易
相比于KDE3对KDE2更多的是否定,KDE4中在人们面前表现出的更多的是对KDE3的继承。如KDE游戏,它们更多的是与SVG技术的整合,带来了更好的感官体验。Amarok颠覆了旧有的显示模式,但大家都可以一眼识别出那就是Amarok。Dolphin继承了Konqueror的文件管理器功能,它也继承了nautilus的一些特性。KDE4下的很多软件本质上都没有什么变化。而变动最大的那几个软件也都可以在KDE3中找到它们的根源。相对于黑格尔所说的“运动中的静止”,中国人就应称之为“变易中的不易”了。

后记
闲坐小窗读周易,不知春去已多时。并非着相以求,不过玩索而得。

本文完成后对比原稿偏差了不止十万八千里。感叹着变动之余,实在觉得自己能力有限,手中掌握的资料也不太多。终究是完成了,这也算是有始有终吧。
登录后才可评论.