2007年3月1日

[轉載]通向 KDE 4 之路(三):完全的 Mac OS X 支援

雖然 KDE 的設計在 Linux、FreeBSD 以及其它 UNIX/X11 平台上均可成功移植,但這並不表示它在其它平台上就沒有突破。奇趣公司在 GPL 協議之下發佈了面向 Mac、Windows 甚至是嵌入式平台上的 Qt 新版本——Qt 4。Qt 是 KDE 開發的基礎,因此 KDE 現在也獲得了在這些平台上的原生支援。今天我主要講的是 KDE/Mac 的開發情況。下面是詳細內容。

在我講述之前,我想先討論幾個 KDE 必將面對的一些問題。在 KDE 3 中,KDE 這個術語指的是 KDE桌面環境(Kwin、Kicker、kdesktop 等),由此當它面向 Mac OS X 的版本中不再出現這些組件時它還有理由被稱為「KDE」嗎?或者 KDE 是指這整個項目,按這種說法,無論 Konqueror 是否運行於 Mac、Windows 或者 Enlightenment 等平台,它都可被稱為一個「KDE 程式」。

有一些關於 KDE 4 的問題已被討論過了。討論的結果是「KDE」就像一把大傘,它包括 KDE 的所有東西。也就是說 KDE 應用程式,KDE 開發環境(庫以及技術),KDE 工作空間(由 KWin、Plasma 等組成),這三個主要部分組成了 KDE 軟體。當我們談及 KDE 時,它所指的就是全部。

這種說法也解決了一些有著獨立發佈時刻表的軟件所帶來的問題。例如 Amarok 有一個與 KDE 不同的時刻表,於是有一些人就不把它看作是 KDE 整體的一部分。在 KDE 4 中的 Amarok 清楚地被標為是一個可限制性運行於某桌面環境中的「KDE 程式」,而不存在任何的隱晦。在 KDE 4 中,雖然 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 開發環境技術如 Phonon 和 Solid 可使移植變的輕鬆,因為與平台的整合工作發生在庫的水平上。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 桌面環境(早期是指 Window Maker,後來是 GNOME 和 Enlightenment)共存的問題。KDE 程序用的是共享的標準(如 FreeDesktop.org 的成果),可共享剪貼板數據、系統托盤,所以與其它平台的兼容問題較少。而現在由於 Qt 4 所帶來的高度可移植性,在如 Mac 等非 X11 環境中 KDE 的兼容性也很好。

KDE 程序以前就能運行於 Mac 平台上,它可使用蘋果公司建立在 OS X 系統上的 X11 服務層,但因為 KDE 仍然使用 Qt/X11,所以這些程序看起來與運行在普通 X11 平台上的樣子差不多。事實上它們能良好的運行, Fink 項目的出色成果功不可沒。如果您有興趣在 OS X 系統運行其它 UNIX 程序的話,去看看 Fink 項目吧。

(其實也存在一個 Qt/Mac 的自由軟件版本可以在 Mac 平台上使用 KDE 3.x 系列的程序,但由於穩定性的原因,通常還是使用包含 Fink 技術的 KDE/X11。)

下面是一張用 Fink 技術將 KDE 3.5 運行於 Mac 系統的截圖。

由於建立在 Qt/X11 平台上,這使整個 KDE 環境都能夠運行。但可明顯的發現 KDE 與 Mac 系統沒什麼協調性,就好像是在一個屏幕上運行了兩個完全不同的計算機系統。

KDE 4 則在移植工作中取得了巨大的進步,這很大部分要歸功於 Qt 4,還有基於 CMake 的新的 KDE 構建系統。在「KDE on Mac OS X」網站上 KDE/Mac 程序的 .dmg 文件已作為一個標準發佈包提供下載。多虧了 KDE/Mac 項目的頭兒 Benjamin Reed,KDE 開發快照版可以很容易地運行在 Mac 平台上。請訪問 irc.freenode.org 的 #kde-darwin 頻道幫助報告和解決問題。現在 KDE 4 還遠沒到可發佈的程度,它還很可能崩潰。


已下載的軟件包被打開並被安裝之後,KDE/Mac 程序可以使用 OS X 的 Finder 運行,如下:

從上圖可以看到大量的 KDE 程序已可以在 Mac 上使用。由於這還是一個開發中的版本,有些程序很容易崩潰(就像使用 SSL 的程序)還有些東西看起來很醜陋。在這點上,目前運行於 X11 上的 KDE 4 也是同樣的,希望 KDE 4 的開發可以在這兩點可以同時改進。

在移植的同時,一些非常重要的工作也發生在 KDE/Mac 的整合中。例如,剪貼板,鍵盤快捷鍵,其它語言輸入等。還有鼠標拖放仍然很粗糙。KDE/Mac 的開發者們需要任何瞭解 KDE 和 Mac 技術的夥伴來幫助他們解決這樣的小問題。

這就是你們所期待的:在截圖中大家都看到了目前 KDE 4 移植工作的進展情況。Mac 用戶對其中的一些程序也是讚賞有加。

由於我們使用 SVG 技術,我就先貼一張在 Mac 平台上的 SVG 截圖。下面是 Shisen Sho,這是一個板塊遊戲。Shisen Sho 與 KMahjongg 共享了 SVG 板塊。這個遊戲在 Mac 上看起來很漂亮,風格也很一致。

上週有人問起 KOffice 是否也支持其它平台。我現在可以愉快地告訴你們,KWord、KSpread 以及 KOffice 的其它組件在 KDE/Mac 上運行的很好。我在上週測試了開發中的 KOffice 2,KWord 與它在 KDE/X11 中的版本運行的一樣好。同時我還運行了其它一些 KOffice 程序看它們是否工作。下面是一張運行於 Mac 系統上的 KSpread 嚮導及 KDE4 文件對話框的截圖。

還請注意下 KSpread 圖標在 OS X 底欄上的顯示。它可不像運行於 Fink 技術上的 KDE 那樣(在桌面左方會出現一個 KDE 邊欄),可調置為自動隱藏。已運行的程序圖標顯示在邊欄上。

當然也許有人會問:Konqueror 能運行嗎?答案是可以。KDE 4 版本的 Konqueror 主要是 KDE 3.5 中的 Konqueror 的移植工作,但其後端庫如 KHTML 渲染引擎和 Javascript 支持都獲得了大量的改進。在 Mac 上,由於 Qt 4 實現的 OS X 風格,我們使用的是當中的標籤瀏覽,如下:

Mac 自稱是圖形與多媒體程序第一平台。但此快照版中沒有找到 KDE 圖形包,所以我就不能抓張圖出來看看了。

但 education 包裡的小程序還是可以讓 Mac 顯露一點鋒芒的。下面是包含在 KDE-Edu 項目中的兩個優秀的程序:Kalzium 和 KStars。在 KDE-Edu 項目中的新特性容我以後介紹。現在還是讓我們看看 KDE/Mac 中的這兩個華麗而又功能完備的程序。

圖片就貼到這裡了,當 KDE 運行於其它平台時,就總會出現一些其它問題的。

當我考慮這篇文章的時候,我遇到很多人,它們反對在一個非自由平台上運行 KDE 程序。他們在 IRC 上露出這樣的情緒「無論何時你在一個非自由的平台上運行自由軟件,上帝就會殺死一隻小動物。甚至會殺死一隻伶俐的小動物。」

但 KDE 有其支持其它平台的好理由:吸引開發者,鼓勵互操作性以及形成標準。世界上有大量的 Mac 和 Windows 的開發者,支持了 Mac 和 Windows 就可以使大量的程序利用 KDE 技術。支持其它平台使 KDE 技術受益的最好例子是 KHTML/WebKit。現在世界上有很多用戶使用基於 KHTML 的網絡瀏覽器,各網站不得不提高他們與標準的兼容性,這就意味著更多的網站使用 Konqueror。同樣的事也將會發生,如 KOffice 之與 OpenDocument 格式,Kontact 之與自由軟件組件系統,這都將是雙贏的。

原文:The Road to KDE 4: Full Mac OS X Support
譯文:通向 KDE 4 之路(三):完全的 Mac OS X 支持

(Troy Unrau/文 yuanjiayj/譯)

轉載自 通向 KDE 4 之路(三):完全的 Mac OS X 支持

-2007/3/12-------------------------------------------------------------
已經將本篇文章的圖片轉至本Blog上了,圖片已經可正常顯示。

沒有留言:

張貼留言

請注意,在較舊的文章留言並不會馬上出現在回應區!