Τι νέο υπάρχει για τους προγραμματιστές

Η πλατφόρμα ανάπτυξης εφαρμογών του GNOME 2.22 παρέχει μια σταθερή βάση για ανεξάρτητη ανάπτυξη λογισμικού από τρίτους, Το GNOME και η πλατφόρμα του έχουν τις κατάλληλες άδειες χρήσεις για να επιτρέπουν τη δημιουργία ελεύθερου και κλειστού λογισμικού που εκτελείται στο GNOME.

Οι βασικές βιβλιοθήκες της Πλατφόρμας Ανάπτυξης του GNOME παρέχουν εγγυήσεις σταθερότητας στα API και ABI για την σειρά εκδόσεων του GNOME 2.x. Οι βιβλιοθήκες στην επιφάνεια εργασίας του GNOME 2.x δεν έχουν αυτή την εγγύηση, αλλά παραμένουν σταθερές από έκδοση σε έκδοση.

6.1. GVFS και GIO

GVFS is a userspace virtual file system with backends for protocols like SFTP, FTP, DAV, SMB, ObexFTP. GVFS is the replacement for GNOME-VFS. GNOME-VFS should now be considered deprecated, and developers should not use it in new applications.

To GVFS αποτελείται από δύο μέρη:

  • GIO, a new shared library that is part of GLib and provides the API for GVFS; and
  • GVFS itself, a new package containing backends for various file system types and protocols such as SFTP, FTP, DAV, SMB and ObexFTP.

GVFS/GIO aims to provide a modern, easy-to-use VFS system. Its goal is to provide an API that developers prefer over raw POSIX IO calls. Rather than cloning the POSIX IO API, it provides a higher-level, document-centric interface. As well as reading and writing files, GIO provides facilities for file monitoring, asynchronous IO, and filename completion.

GVFS works by running a single master daemon (gvfsd) that keeps track of the current GVFS mounts. Each mount is run in a separate daemon. (Some mounts share a daemon process, but most don't.) Clients talk to the mounts with a combination of D-Bus calls (on the session bus and using peer-to-peer D-Bus) and a custom protocol for file contents. Moving the backends out of process minimises dependency bloat for applications and makes the whole system more robust.

GVFS also offers a FUSE mountpoint in ~/.gvfs/ so that GVFS mounts can be exposed to legacy applications using standard POSIX IO.

Unlike GNOME-VFS, connections in GVFS are stateful. This means that a user only needs to enter his or her password once, not over and over again for each successive connection.

With the switch to GVFS, automounting and autostart are now handled directly by Nautilus rather than gnome-volume-manager.

API documentation for using GIO is available online along with migration guides for moving from POSIX IO and GNOME-VFS to GIO.

6.1.1. Regressions

Although GVFS fixes a lot of problems that previously existed by using GNOME-VFS, there are currently some feature regressions. Most notable is the lack of fonts:// and themes:// targets.

These issues will be fixed as soon as possible. There are also some applications that still remain to be ported over to GVFS. The state of this port is documented online.

6.2. Anjuta IDE

The Anjuta IDE is now a part of the GNOME Developer Suite. Anjuta is a GNOME-integrated IDE that offers many features for developers, such as an integrated debugger, integrated Glade UI editor, and a Valgrind interface.

Φιγούρα 9Λίστα εργασιών για το Anjuta.