Nieuws voor ontwikkelaars

Het GNOME 2.12-ontwikkelingsplatform levert niet alleen een stabiele basis voor ontwikkelaars van externe software, maar ook voor de GNOME-desktop zelf. GNOME 2.12 voert enkele API-verbeteringen door maar blijft compatibel met oudere versies. Daarnaast maakt dit platform het makkelijker om software te ontwikkelen die onder Unix en Windows draait, en maakt het gebruik van belangrijke standaarden om interoperabiliteit met andere desktops te garanderen.

3.1. GTK+-verbeteringen

GNOME 2.12 bevat GTK+ 2.8, die enkele interessante nieuwe opmerkelijke mogelijkheden bevat, zoals

  • GTK+ maakt nu gebruik van de freedesktop cairo tekening-API, waardoor het makkelijker wordt om nieuwe vormen van tekeningen en nieuwe effecten te implementeren. In de nabije toekomst zou GNOME hierdoor ook gebruik moeten kunnen maken van hardware-acceleratie, evenals verbeterde print-support.
  • Drag-and-drop gedrag is verbeterd en laat nu de tekst zien terwijl deze wordt gesleept.

Naast al deze veranderingen, die toegankelijk zijn voor GTK-gebaseerde toepassingen zonder enige vorm van compileren, zijn er enkele andere nieuwe APIs beschikbaar om ontwikkeling nog makkelijker te maken. Hieronder vallen onder anderen:

  • GtkFileChooser kan nu een bestand-overschrijven bevestigings-dialoog laten zien in de opslaan-mode.
  • GtkWindow heeft nu de mogelijkheid voor een prioriteitshint, waardoor de venster-beheerder bijvoorbeeld het venster kan laten knipperen.
  • GtkIconView implementeert nu de GtkLayout interface, en kan items renderen met behulp van GtkCellRendererCells.
  • GtkTextView heeft nu de mogelijkheid tot het specificeren van een achtergrondkleur per alinea, en kan optioneel onzichtbare tekst overslaan.
  • GtkScolledWindow geeft toegang tot de schuifbalken.
  • GtkMenu ondersteunt nu verticale (gedraaide) menus, en kan toetsenbord-focus negeren, wat nuttig is voor speciale toepassingen zoals het virtuele toetsenbord.
  • GtkEntryCompletion's contextmenu kan nu breder zijn dan de Entry zelf, en het menu kan vermeden worden wanneer er slechts een enkele overeenkomst is.
  • GtkAboutDialog's licentie tekst kan nu over meerdere regels verdeeld worden.
  • GtkToolButton kan nu standaard iconen van de icoon-thema's gebruiken, en deze kunnen ook gebruikt worden tijdens het slepen.
  • GtkSizeGroup kan onzichtbare widgets negeren.

Zie ook de volledige opsomming van nieuwe API in GTK+ 2.8.

3.2. Multi-platform

De GTK+-bibliotheek is nu al populair onder ontwikkelaars die meerderen platforms willen ondersteunen, waaronder Microsoft Windows maar ook Linux en UNIX. Artiesten kunnen bijvoorbeeld hun afbeeldingen bewerken met behulp van de GIMP en Inkscape onder zowel Linux als Windows.

Ook andere GNOME libraries, waaronder ORBit2, libbonobo, libgnome, libbonoboui, libgnomeui en gnome-vfs, kunnen onder Microsoft Windows gebruikt worden, waardoor het makkelijker wordt om GNOME-toepassingen voor dit platform te ontwikkelen en uit te brengen. Hoewel deze ondersteuning nog niet helemaal af is, zal het afdoende zijn voor bepaalde types toepassingen, en de verwachting is dat deze ontwikkeling compleet zal zijn in de volgende versie van GTK+ en GNOME.

3.3. Standaarden

GNOME werkt nauw samen met groepen zoals freedesktop.org. Ondersteuning voor standaarden is groot pluspunt voor GNOME-gebruikers. Interoperabiliteit zorgt voor een verbeterde gebruikservaring doordat GNOME, KDE en andere toepassingen beter kunnen samenwerken. Het gebruik van open specificaties geeft de gebruiker de garantie dat zijn gegevens niet gevangen worden in besloten formaten.

De GNOME ontwikkelaars werken via Freedesktop.org actief samen met andere leden van de vrije softwaregemeenschap bij het ontwikkelen van standaarden voor interoperabiliteit. Deze standaarden zijn ondermeer: gedeelde MIME-database, pictogramthema's, recente bestanden, menu's, bureaublad-items, miniaturen-beheer, en de system tray-specificaties. Aanvullend daarop ondersteunt GNOME CORBA, XML, Xdnd, EWMH, XEMBED, XSETTINGS, en XSMP.