Nyt for udviklere

Udviklerplatformen i GNOME 2.22 forsyner udviklere med en stabil base til uafhængig udvikling af tredjeparts-software. GNOME og udviklerplatformen er licenseret således at de tillader udvikling af både fri og proprietær software og tillader at disse køres i GNOME.

Biblioteker i GNOME-platformen garanteres at være både API og ABI-stabile i resten af GNOME 2.x udgivelsesserien. Denne garanti gælder ikke for biblioteker i GNOME-skrivebordet men de fleste forbliver konsistente fra udgivelse til udgivelse.

6.1. GVFS og GIO

GVFS er et brugerrums(userspace)-system til virtuelle filsystemer med understøttelse af protokoller som f.eks. SFTP, FTP, DAV, SMB og ObexFTP. GVFS er en erstatning af GNOME-VFS. GNOME-VFS bør nu betragtes som forældet og udviklere bør ikke bruge det i nye programmer.

GVFS består af to dele:

  • GIO er et nyt delt bibliotek som er en del af GLib og som gør API'en til GVFS tilgængelig; og
  • GVFS selv, en ny pakke som indeholder understøttelse for forskellige filsystem-typer og protokoller som f.eks. SFTP, FTP, DAV, SMB og ObexFTP.

GVFS/GIO sigter efter at give et moderne VFS-system som er nemt at bruge. Dets mål er gøre en API tilgængelig som udviklere foretrækker over rå POSIX IO-kald. I stedet for at klone POSIX IO-API'en giver den i stedet en dokument-centreret grænseflade med højt niveau. Ud over at læse fra og skrive til filer indeholder GIO også funktionalitet til fil-overvågning, asynkron IO og filnavnsfuldførsel.

GVFS virker ved at køre en hoveddæmon (gfvsd) som holder styr på de nuværende GVFS-monteringer. Hver montering køres i en separat dæmon. (Nogle monteringer deler en dæmonproces, men de fleste gør ikke.) Klienter taler til monteringerne via en kombination af D-Bus-kald (på sessions-bussen og ved hjælp af peer-to-peer D-Bus) og en specialtilpasset protokol til filindhold. At flytte understøttelsen for de forskellige protokoller ud af processen minimerer afhængighedsstørrelsen og gør hele systemet mere robust.

GVFS tilbyder også et FUSE-monteringspunkt i ~/.gvfs/ således at GVFS-monteringer kan eksponeres for gamle programmer som bruger almindelig POSIX IO.

I modsætning til GNOME-VFS er forbindelser i GVFS tilstandshavende. Det betyder at en bruger kun behøver at indtaste sit kodeord en gang og ikke om og om igen for hver efterfølgende forbindelse.

Med skiftet til GVFS bliver automontering og autostart nu håndteret direkte af Nautilus i stedet for af gnome-volume-manager.

API-dokumentation for brugen af GIO er tilgængelig på nettet sammen med migrations-vejledninger for hvordan man flytter fra POSIX IO og GNOME-VFS til GIO.

6.1.1. Regressioner

Selvom GVFS fikser en masse problemer som fandtes i GNOME-VFS er der på nuværende tidspunkt en række funktions-regressioner. Mest markant er manglen af "fonts://" og "themes://"-mål.

Disse problemer vil blive rettet så hurtigt som muligt. Der er også nogle programmer som stadig mangler at blive flyttet over til GVFS. Status for arbejdet med at flytte programmer over er dokumenteret på nettet.

6.2. Udviklingsmiljøet Anjuta

IDE'en Anjuta er nu en del af GNOMEs udviklerpakke. Anjuta er en GNOME-integreret IDE som tilbyder mange funktioner for udviklere som f.eks. integreret fejlsøger, integreret Glade UI-redigering og en Valgrind-grænseflade.

Figur 9Opgaveliste for Anjuta.