給開發者的新功能

下列的變更對於使用 GNOME 2.30 開發平台的開發者而言很重要。如果您對這些關於開發平台的變更不感興趣,可以直接跳到 第 6 節 ― 國際化

如同 GNOME 桌面環境,GNOME 2.30 是最新釋出的 GNOME 開發者平台,並提供了依 GNU LGPL 授權的 API 和 ABI 穩定版程式庫,可供開發跨平台的應用程式。

修正已廢棄程式庫的用法

從 GNOME 3.0 開始,GNOME 中各種已廢棄的部分將會被移除。這些廢棄的元件包含程式庫,像是 libart_lgpl、libbonobo、libbonoboui、libglade、libgnome、libgnomecanvas、libgnomeprint、libgnomeprintui、libgnomeui 和 libgnomevfs。對於組成 GNOME 桌面環境的各個應用程式,已經展開一些清理工作,以確保沒有使用到廢棄的程式碼。這將可以確保平順的過渡到 GNOME 3.0。

我們也強烈建議軟體開發者們在自己的應用程式中也跟隨這個範例。此外,如果有任何開發者(或潛在開發者)願意提供我們協助,GNOME 目標 wiki 頁面列出了各種尚未完成的工作。有一個 jhbuild 編譯工具所支援的自動建立與更新各模組剩餘工作狀態概覽的工具可以在這裡找到。

5.1. 平台的清理

在通往 GNOME 3.0 的道路上已經投入大量的努力來移除過時的模組和功能。

許多應用程式也已經移除對已廢棄 GTK+ 和 GLib 信號的使用,並已接受新的原則,也就是只引入 GTK+ 和 GLib 的頂層標頭。

5.2. GTK+ 2.20

GTK+ 2.20 是 GTK+ 工具箱的最新釋出版本,也是 GNOME 的核心。GTK+ 2.20 包含給開發者的新功能,就是為了即將到來的 GTK+ 3.0 所做的大量錯誤修正和程式碼整頓。

GTK+ 也看到許多改進,包含:

  • 加入了動態瀏覽圖示元件,GtkSpinner,以及儲存格著色器,GtkCellRendererSpinner
  • GtkToolPalette 是新的容器,用來顯示在可摺疊群組中的工具項目。
  • GtkNotebook 現在有跳至下一個分頁的動作元件。

5.3. Empathy

libempathylibempathy-gtk 已經被移除,開發者應該使用 telepathy-glib 代替。

5.4. Anjuta

Anjuta 帶來了程式碼補齊的改進,包含在 C 和 C++ 中對 ., ->:: 的補齊。

程式碼補齊現在起完全以非同步的方式運作,因此它不再會打擾到您的打字。

Anjuta 現在在符號管理程式中支援 Vala 符號;完整的 JavaScript 支援,包括程式碼補齊、除錯和編譯;還有對非-automake 專案的基本支援。

5.5. GNOME 平台的改進

其他 GNOME 平台在 GNOME 2.30 中的改進有:

  • EvolutionEvolution-Data-Server 在 GNOME 3.0 的期待下已經完全移除 Bonobo。Evolution-Data-Server 現在在同樣的客戶端 API 下使用 D-Bus。
  • Brasero 現在有 GObject-introspection 對 libbrasero-medialibbrasero-burn 的支援。
  • GNOME 放大鏡,gnome-mag,改成支援 D-Bus,因為對 Bonobo 的支援已經被廢棄了。
  • Devhelp 現在有全螢幕模式,並且能在本地端找不到符號時到 library.gnome.org 查詢。
  • GLib 加入了 GConverter,它是用於串流資料轉換的通用介面。當呼叫 g_type_init() 時也會自動啟用執行緒。
  • gnome-keyring 已經實作了新的「保密服務」跨桌面密碼儲存 D-Bus API。