Nieuws voor ontwikkelaars

Het Gnome 2.22-ontwikkelaarsplatform biedt een stabiele basis voor onafhankelijke software-onwikkelaars om toepassingen mee te ontwikkelen. Gnome en het onderliggende platform worden onder zodanige voorwaarden uitgebracht, dat zowel open, als leveranciersgebonden gesloten software bovenop Gnome-technologie ontwikkeld kan worden.

Bibliotheken in het Gnome-platform zijn gegarandeerd API- en ABI-stabiel voor de gehele Gnome 2.x serie. Bibiotheken in de Gnome-desktop hebben die garantie niet, maar de meesten blijven consistent van versie tot versie.

6.1. GVFS en GIO

GVFS is een virtueel bestandssysteem met ondersteuning voor protocollen zoals SFTP, FTP, DAV, SMB en ObexFTP. GVFS vervangt Gnome-VFS. Het gebruik van Gnome-VFS wordt vanaf heden afgeraden en ontwikkelaars dienen gebruik ervan in nieuwe toepassingen te mijden.

GVFS bestaat uit twee delen:

  • GIO, een nieuwe gedeelde bibliotheek (shared library), onderdeel van GLib, dat de API voor GVFS verzorgt, en
  • GVFS zelf, een nieuw pakket met de ondersteuning voor verschillende typen bestandssystemen en protocollen zoals SFTP, FTP, DAV, SMB en ObexFTP.

GVFS/GIO probeert een een moden, gemakkelijk te gebruiken VFS-systeem te bieden. Het doel is een API aan te bieden die door ontwikkelaars wordt verkozen boven POSIX IO-aanroepen. In plaats van de POSIX IO-API te dupliceren, biedt GVFS/GIO op een hoger niveau een documentgebaseerde interface. Naast het lezen en schrijven van bestanden biedt GIO ook mogelijkheden tot het volgen van bestanden, asynchrone IO, en bestandsnaamaanvulling.

GVFS werkt met een centrale systeemdienst (gvfsd) die de huidige GVFS-koppelingen bijhoudt. Elke koppeling draait als een afzonderlijk proces. (Sommige koppelingen kunnen een systeemdienstproces delen, maar de meeste doen dat niet.) Toepassingen communiceren met deze koppelingen door een combinatie van D-Bus-aanroepen (via de ‘session bus’ en ‘peer-to-peer’-D-BUS) en een specifiek protocol voor bestandsoverdracht. Het apart beschikbaar maken van de onderliggende functionaliteiten verlaagt het aantal afhankelijkheden voor toepassingen en maakt het gehele systeem robuuster.

GVFS biedt ook een FUSE-koppeling in ~/.gvfs zodat GVFS-koppelingen ook door oudere toepassingen, gebaseerd op standaard POSIX IO, te gebruiken zijn.

In tegenstelling tot Gnome-VFS onthouden verbindingen in GVFS hun huidige toestand. Dit houdt in dat gebruikers slechts eenmaal een wachtwoord hoeven in te voeren in plaats van iedere keer opnieuw voor iedere nieuwe gebruikte toepassing.

Met de overgang naar GVFS wordt het automatisch aankoppelen en automatisch starten van toepassingen overgelaten aan Nautilus in plaats van gnome-volume-manager.

De API-documentatie voor het gebruik van GIO is online beschikbaar, samen met uitleg voor migratie van POSIX IO en Gnome-VFS naar GIO.

6.1.1. Stappen terug

Hoewel GVFS een aanzienlijk deel van de problemen van Gnome-VFS oplost, zijn sommige onderdelen een achteruitgang ten opzichte van oudere versies. Het meest opvallend is het ontbreken van de fonts://- en themes://-locaties.

Deze problemen zullen zo snel mogelijk opgelost worden. Er blijven ook nog enkele toepassingen over die nog naar GVFS omgezet dienen te worden. De voortgang van deze omzetting wordt online bijgehouden.

6.2. Anjuta-IDE

De geïntegreerde ontwikkelomgeving (IDE) Anjuta is nu een onderdeel van het Gnome-ontwikkelaarspakket. Anjuta is een in Gnome geïntegreerde ontwikkelomgeving (IDE) met vele mogelijkheden voor ontwikkelaars, zoals een geïntegreerde debugger, een geïntegreerde editor voor Glade-gebruikersinterfaces en integratie met Valgrind.

Figuur 9Takenlijst voor Anjuta.