給開發者的新功能

GNOME 2.22 開發者平臺提供了穩定的基礎讓單獨的軟件開發者可以建立第三方應用程式。GNOME 與其平臺的授權允許開發能在 GNOME 中運作的自由或商用軟件。

GNOME 平臺中的程式庫也保證會成為往後 GNOME 2.x 系列的穩定 API 與 ABI。GNOME 桌面的程式庫則沒有這項保證,但仍會在各推出版本間保持一貫性。

6.1. GVFS 與 GIO

GVFS 是一個 userspace 的虛擬檔案系統,其後端的通訊協定有 SFTP、FTP、DAV、SMB、ObexFTP。GVFS 是 GNOME-VFS 的代替品。GNOME-VFS 現在即將廢棄不用,開發者們不應在新的應用程式使用它。

GVFS 由兩個部分組成:

  • GIO,一個新的共享程式庫,也是 GLib 的一部分並為 GVFS 提供 API;而
  • GVFS 本身,是一個新的套件,它的後端包含了各式檔案系統類型與通訊協定,像是 SFTP、FTP、DAV、SMB 與 ObexFTP。

GVFS/GIO 的目標是提供一個現代化、易於使用的 VFS 系統。它為那些偏好使用原生 POSIX IO 呼叫的開發者提供了 API。它並不是複製 POSIX IO API,而是提供更高層級、以文件為中心的介面。在讀取與寫入檔案方面,GIO 提供了檔案監控、非同步 IO 與檔名補齊等機能。

GVFS 以單一的主伺服程式 (gvfsd) 運作,它監控着當時的 GVFS 掛載點。每個掛載點都在個別的伺服程式執行。(有些掛載點會共享一個伺服程式的程序,但大多數不會。)客戶端是以 D-Bus 呼叫的組合(在作業階段匯流排並使用點對點 D-Bus)和檔案內容的獨特通訊協定來與掛載點溝通。將後端移出程序可以將應用程式的根據賴降低並且讓整個系統更加堅固。

GVFS 也在 ~/.gvfs/ 裏提供 FUSE 掛載點,如此 GVFS 掛載點就能被使用標準 POSIX IO 的傳統應用程式使用。

不同於 GNOME-VFS,GVFS 中的連線很穩定。這代表使用者只需要輸入一次密碼,不必為了每個成功的連線一次又一次的輸入。

在轉換到 GVFS 後,自動掛載及自動執行現在可由 Nautilus 直接處理,不必再透過 gnome-volume-manager。

使用 GIO 的 API 文件可在 網上取得,並包含從 POSIX IO 與 GNOME-VFS 移至 GIO 的移植指南。

6.1.1. 未完成的部分

雖然 GVFS 修正了先前使用 GNOME-VFS 時存在的許多問題,目前仍有某些功能未完成。最受注意的就是缺乏 fonts:// 與 themes:// 目標。

這些議題會儘速修正。還有一些程式仍在移植到 GVFS 中。這個移植的進度可在 網上取得

6.2. Anjuta IDE

Anjuta IDE 現在是 GNOME 開發者套裝軟件的一部分。Anjuta 是整合 GNOME 的 IDE,它提供開發者許多功能,像是整合了除錯器、Glade UI 編輯器以及 Valgrind 介面。

圖表 9Task list for Anjuta.