分类: LINUX
2008-05-27 16:19:45
虽然KDE的设计在Linux,以及其它UNIX/平台上均可成功移植,但这并不表示它在其它平台上就没有突破。公司在GPL协议之下发布了面向Mac,Windows甚至是嵌入式平台上的Qt新版本——Qt4。Qt是KDE开发的基础,因此KDE现在也获得了在这些平台上的原生支持。今天我主要讲的是KDE/Mac的开发情况。下面是详细内容。
在我讲述之前,我想先讨论几个KDE必将面对的一些问题。在KDE3中,KDE这个术语指的是K桌面环境(Kwin,Kicker,kdesktop等),由此当它面向的版本中不再出现这些组件时它还有理由被称为“KDE”吗?或者KDE是指这整个项目,按这种说法,无论Konqueror是否运行于Mac,Windows或者等平台,它都可被称为一个“KDE程序”。 有一些关于KDE4的问题已被过了。讨论的结果是“KDE”就像一把大伞,它包括KDE的所有东西。也就是说KDE应用程序,KDE开发环境(库以及技术),KDE工作空间(由KWin,等组成),这三个主要部分组成了KDE软件。当我们谈及KDE时,它所指的就是全部。 这种说法也解决了一些有着独立发布时刻表的软件所带来的问题。例如Amarok有一个与KDE不同的时刻表,于是有一些人就不把它看作是KDE整体的一部分。在KDE4中的清楚地被标为是一个可限制性运行于某桌面环境中的“KDE程序”,而不存在任何的隐晦。在KDE4中,虽然Amarok有独立的开发周期,但它仍是一个KDE产品。正如Amarok的某席开发者Mark Kretschmann所说的,“如果Amarok使得更多的用户去使用KDE技术的话,那就很理想了。如果有人在其它平台上如GNOME或Mac上使用它的话,对我们来说也不错。” 本文说的是非运行于于X11平台上的KDE,所以我们需要先将KDE/X11与KDE/Mac区分一下。在询问了一些开发者后,我采用这种说法:KDE/X11指的是所有KDE程序运行于X11上,开发环境搭建在X11上,KDE工作空间也在X11上。同样的,KDE/Mac是指KDE程序运行于Mac上,KDE开发环境搭建在Mac上,而KDE工作空间则不存在于Mac上,这里没有包括它。以上说法同样适用于Windows平台。然而必须知道的是这些所谓的区别仅仅在于平台不同,最重要的是是相同的,并没有为某个平台将代码树分开。不存在分支或者异样的端口。 新的KDE开发环境技术如和可使移植变的轻松,因为与平台的整合工作发生在库的水平上。KDE程序的开发不必太在意操作平台的不同。 什么是KDE/Mac? KDE/Mac是可原生运行于Mac操作系统上的KDE程序的集合,包括使这些KDE程序工作的底层技术,库等。KDE/X11与KDE/Mac只有略微的不同。最大的不同是KDE工作空间如KWin和Plasma等不会在Mac上出现。原因是KWin和Plasma的功能在OS X系统中已经存在,强行地在Mac系统上实现它们会造成KDE程序与其它Mac程序不能很好的整合在一起。因此KDE就没有把KDE/X11移植到Mac中去了。 在KDE设计之初就考虑到KDE程序与其它UNIX桌面环境(早期是指,后来是GNOME和Enlightenment)共存的问题。KDE程序用的是共享的标准(如的成果),可共享剪贴板数据、系统托盘,所以与其它平台的兼容问题较少。而现在由于Qt4所带来的高度可移植性,在如Mac等非X11环境中KDE的兼容性也很好。 KDE程序以前就能运行于Mac平台上,它可使用,但因为KDE仍然使用Qt/X11,所以这些程序看起来与运行在普通X11平台上的样子差不多。事实上它们能良好的运行,项目的出色成果功不可没。如果您有兴趣在OS X系统运行其它UNIX程序的话,去看看Fink项目吧。 (其实也存在一个Qt/Mac的自由软件版本可以在Mac平台上使用KDE 3.x系列的程序,但由于稳定性的原因,通常还是使用包含Fink技术的KDE/X11。) 下面是一张用Fink技术将KDE3.5运行于Mac系统的截图。 由于建立在Qt/X11平台上,这整个KDE环境都能够运行。但可明显的发现KDE与Mac系统没什么协调性,就好像是在一个屏幕上运行了两个完全不同的计算机系统。 KDE4则在移植工作中取得了巨大的进步,这很大部分要归功于Qt4,还有基于的新的KDE构建系统。在“”网站上KDE/Mac程序的.dmg文件已作为一个标准发布包提供下载。多亏了KDE/Mac项目的头Benjamin Reed,KDE开发快照版可以很容易地运行在Mac平台上。请访问irc.freenode.org的#kde-darwin频道帮助报告和解决问题。现在KDE4还远没到可发布的程度,它还很可能崩溃。 已下载的软件包被打开并被安装之后,KDE/Mac程序可以使用OS X的Finder运行,如下: 从上图可以看到大量的KDE程序已可以Mac上使用。由于这还是一个开发中的版本,有些程序很容易崩溃(就像使用的程序)还有些东西看起来很丑陋。在这点上,目前运行于X11上的KDE4也是同样的,希望KDE4的开发可以在这两点可以同时改进。 在移植的同时,一些非常重要的工作也发生在KDE/Mac的整合中。例如,剪贴板,键盘快捷键,其它语言输入等。还有鼠标拖放仍然很粗糙。KDE/Mac的开发者们需要任何了解KDE和Mac技术的伙伴来帮助他们解决这样的小问题。 这就是你们所期待的:在截图中大家都看到了目前KDE4移植工作的进展情况。Mac用户对其中的一些程序也是赞赏有加。 ,我就先贴一张在Mac平台上的SVG截图。下面是Shisen Sho,这是一个板块游戏。Shisen Sho与KMahjongg共享了SVG板块。这个游戏在Mac上看起来很漂亮,风格也很一致。 上周有人问起KOffice是否也支持其它平台。我现在可以愉快地告诉你们,KWord,KSpread以及KOffice的其它组件在KDE/Mac上运行的很好。我在,KWord与它在KDE/X11中的版本运行的一样好。同时我还运行了其它一些KOffice程序看它们是否工作。下面是一张运行于Mac系统上的KSpread向导及KDE4文件对话框的截图。 还请注意下KSpread图标在OS X底栏上的显示。它可不像运行于Fink技术上的KDE那样(在桌面左方会出现一个KDE边栏,可调置为自动隐藏。已运行的程序图标显示在边栏上。) 当然也许有人会问:能运行吗?答案是可以。KDE4版本的Konqueror主要是KDE3.5中的Konqueror的移植工作,但其后端库如渲染引擎和Javascript支持都获得了大量的改进。在Mac上,由于Qt4实现的OS X风格,我们使用的是当中的标签浏览,如下: Mac自称是图形与多媒体程序第一平台。但此快照版中没有找到KDE图形包,所以我就不能抓张图出来看看了。 但education包里的小程序还是可以让Mac显露一点锋芒的。下面是包含在项目中的两个优秀的程序:和。在KDE-Edu项目中的新特性容我以后介绍。现在还是让我们看看KDE/Mac中的这两个华丽而又功能完备的程序。 图片就贴到这里了,当KDE运行于其它平台时,就总会出现一些其它问题的。 当我考虑这篇文章的时候,我遇到很多人,它们反对在一个非自由平台上运行KDE程序。他们在IRC上露出这样的情绪“无论何时你在一个非自由的平台上运行自由软件,上帝就会杀死一只小动物。甚至会杀死一只伶俐的小动物。” 但KDE有其支持其它平台的好理由:吸引开发者,鼓励互操作性以及形成标准。世界上有大量的Mac和Windows的开发者,支持了Mac和Windows就可以使大量的程序利用KDE技术。支持其它平台使KDE技术受益的最好例子是KHTML/。现在世界上有很多用户使用基于KHTML的网络浏览器,各网站不得不提高他们与标准的兼容性,这就意味着更多的网站使用Konqueror。同样的事也将会发生,如KOffice之与OpenDocument格式,之与,这都将是双赢的。