Neues für Entwickler
Die Entwicklerplattform von GNOME 2.22 bietet eine stabile Basis für unabhängige Software-Entwickler zur Programmierung eigener Anwendungen. GNOME und seine Plattform verwenden eine Lizenz, die die Erstellung von sowohl freier als auch proprietärer Software auf Basis von GNOME erlaubt.
Bibliotheken der GNOME-Plattform sind während der gesamten GNOME 2.x Release-Serie garantiert API- und ABI-stabil. Bibliotheken des GNOME-Desktops haben nicht diese Garantie, die meisten bleiben jedoch trotzdem von Version zu Version konsistent.
- 6.1. GVFS und GIO
- 6.2. IDE Anjuta
6.1. GVFS und GIO
GVFS ist ein virtuelles Dateisystem auf Benutzerebene mit Schnittstellen für Protokolle wie SFTP, FTP, DAV, SMB und ObexFTP. GVFS ist der Ersatz für GnomeVFS. GnomeVFS ist nun veraltet und Entwickler sollten es nicht mehr in neuen Anwendungen verwenden.
GVFS besteht aus zwei Teilen:
- GIO, eine neue Bibliothek welche Teil von GLib ist und das API für GVFS bereitstellt, und
- GVFS selbst, ein neues Paket welches Schnittstellen zu verschiedenen Dateisystemen und Protokollen wie SFTP, FTP, DAV, SMB und ObexFTP bereitstellt.
GVFS/GIO versucht, ein modernes, einfach zu handhabendes VFS-System bereitzustellen. Das Ziel ist ein API, welches Entwickler gegenüber reinen POSIX-IO-Aufrufen bevorzugen. Weniger das Klonen der POSIX-IO-API als vielmehr eine höhere, dokumentenorientierte Schnittstelle ist das Ziel. Neben dem Lesen und Schreiben von Dateien, stellt GIO Funktionen für das Überwachen von Dateien, asynchrone Ein-/Ausgabe und Dateinamensvervollständigung bereit.
GVFS funktioniert über einen Hauptsystemdienst (gvfsd), welcher die aktuellen GVFS-Speicherorte überwacht. Jeder Speicherort läuft in einem extra Dienst, wobei einige Speicherorte sich einen gemeinsamen Dienst teilen, die meisten aber nicht. Anwendungen kommunizieren mit den Speicherorten über eine Kombination aus D-Bus-Aufrufen (über den Sitzungs-Bus und über Peer-to-Peer-D-Bus) und eigener Protokolle für Dateiinhalte. Indem das System ausgelagert wird, sind die resultierenden Anwendungen weniger überladen und die gesamte Umgebung wird wesentlich robuster.
GVFS bietet weiterhin einen FUSE-Speicherpunkt unter ~/.gvfs/, so dass GVFS-Einhängepunkte auch von älteren Anwendungen genutzt werden können, die noch das Standard-POSIX-IO verwenden.
Anders als bei GnomeVFS sind Verbindungen in GVFS zustandsbehaftet. Dies bedeutet, dass ein Benutzer sein Passwort nur einmal eingeben muss und nicht immer wieder für jede einzelne Verbindung.
Mit dem Wechsel zu GVFS, wird das automatische Einhängen und Starten direkt von Nautilus verwaltet und nicht mehr von gnome-volume-manager.
Die API-Dokumentation von GIO finden Sie im Netz neben Anleitungen, wie Sie von POSIX-IO und GnomeVFS zu GIO wechseln.
- 6.1.1. Einschränkungen
6.1.1. Einschränkungen
Auch wenn GVFS eine Vielzahl Probleme löst, die zuvor mit GnomeVFS bestanden, gibt es derzeit doch einige Funktionseinschränkungen. Am offensichtlichsten ist das Fehlen der Ziele fonts:// (für Schriften) und themes:// (für Themen).
Diese Funktionen werden so schnell wie möglich nachgereicht. Weiterhin verbleiben einige Anwendungen, die noch nach GVFS portiert werden müssen. Der Stand dieser Portierungen wird im Netz dokumentiert.
6.2. IDE Anjuta
Die IDE Anjuta ist nun Teil der GNOME-Entwicklungsumgebung. Anjuta ist eine in GNOME voll integrierte IDE, welche zahlreiche Funktionen für Entwickler bereitstellt, darunter ein integrierter Debugger, ein Glade-Oberflächengestalter und eine Valgrind-Schnittstelle.
