Vad är nytt för utvecklarna

GNOME 2.22 Developers Platform tillhandahåller en stabil grund för oberoende programutvecklare för att skapa tredjepartsprogram. GNOME och dess plattform är licensierad för att både tillåta skapandet av fria och proprietära programvaror som körs ovanpå GNOME.

Bibliotek i GNOME-plattformen garanteras vara API och ABI-stabila för resten av den utgivna GNOME 2.x-serien. Bibliotek i GNOME-skrivbordet har inte den här garantin men de flesta kommer att fortsätta vara konsekventa från utgåva till utgåva.

6.1. GVFS och GIO

GVFS är ett virtuellt filsystem i användarrymden med bakändar för protokoll såsom SFTP, FTP, DAV, SMB och ObexFTP. GVFS är ersättningen för GNOME-VFS. GNOME-VFS bör nu anses vara föråldrat och utvecklare bör inte använda det i nya program.

GVFS består av två delar:

  • GIO, ett nytt delat bibliotek som är en del av GLib och tillhandahåller ett API för GVFS; och
  • Själva GVFS, ett nytt paket som innehåller bakändar för olika filsystemstyper och protokoll som SFTP, FTP, DAV, SMB och ObexFTP.

GVFS/GIO har som mål att tillhandahålla ett modernt och lättanvänt VFS-system. Dess mål är att tillhandahålla ett API som utvecklarna föredrar istället för råa POSIX IO-anrop. Istället för att klona POSIX IO API så tillhandahåller det ett högnivå, dokumentcentrerat gränssnitt. Såväl som läsning och skrivning av filer tillhandahåller GIO funktioner för filövervakning, asynkront I/O och filnamnskomplettering.

GVFS fungerar på det sättet att det kör en huvuddemon (gvfsd) som håller ordning på de aktuella GVFS-monteringarna. Varje montering körs i en separat demon (vissa monteringar delar på en demonprocess, men de flesta gör det inte). Klienter pratar med monteringarna med en kombination av D-BUS-anrop (på sessionsbussen och med peer-to-peer D-BUS) samt ett anpassat protokoll för filinnehåll. Genom att flytta ut bakändarna från processen minimeras antalet beroenden för program och gör hela systemet mer robust.

GVFS erbjuder även en FUSE-monteringspunkt i ~/.gvfs/ så att GVFS-monteringar kan exponeras för äldre program som använder standard POSIX IO.

Till skillnad mot GNOME-VFS är nu anslutningar i GVFS tillståndsbaserade. Det betyder att en användare bara behöver ange sitt lösenord en gång, inte igen och igen för varje lyckad anslutning.

Med växlingen till GVFS kommer nu automatiska monteringar och starter att hanteras direkt av Nautilus istället för via gnome-volume-manager.

API-dokumentation för användning av GIO finns tillgänglig på nätet tillsammans med migreringsguider för att flytta från POSIX IO och GNOME-VFS till GIO.

6.1.1. Regressioner

Även om GVFS rättar till en hel del tidigare problem som fanns i GNOME-VFS så finns det för närvarande några funktioner som saknas. Bland annat gäller detta målen fonts:// och themes://.

Dessa problem kommer att rättas till så snart som möjligt. Det finns även några program som återstår att porteras till GVFS. Status för denna portering finns dokumenterad på nätet.

6.2. Utvecklarmiljön Anjuta

Utvecklingsmiljön Anjuta har blivit en del av GNOME Developer Suite. Anjuta är en GNOME-integrerad utvecklingsmiljö som erbjuder många funktioner för utvecklare, såsom en integrerad felsökare, integrerad redigerare för Glade-användargränssnitt samt ett Valgrind-gränssnitt.

Figur 9Uppgiftslista för Anjuta.