Nieuws voor ontwikkelaars
De volgende wijzigingen zijn belangrijk voor ontwikkelaars die het Gnome 2.28-platform gebruiken. Als u niet geïnteresseerd bent in wijzigingen voor ontwikkelaars, kunt u deze overslaan tot Paragraaf 6 ― Internationalisatie.
Naast de Gnome-werkomgeving bevat Gnome 2.28 tevens de laatste uitgave van het Gnome-ontwikkelplatform, een verzameling stabiele API- en ABI-softwarebibliotheken beschikbaar onder de GNU LGPL, die gebruikt kunnen worden voor de ontwikkeling van cross-platfomapplicaties.
Vanaf Gnome 3.0 worden verschillende afgekeurde delen van Gnome verwijderd. Hieronder vallen verschillende bibliotheken zoals libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas libgnomeprint, libgnomeprintui, libgnomeui, en libgnomevfs. Voor toepassingen die bij de Gnome-werkomgeving worden geleverd is er een aantal opschoningstaken opgesteld om te zorgen dat er geen afgekeurde code wordt gebruikt. Dit zal zorgen voor een vloeiende overgang naar Gnome 3.0.
Ontwikkelaars wordt sterk aangeraden om dit voorbeeld ook in hun eigen toepassingen te volgen. Verder staan er voor ontwikkelaars (of potentiële ontwikkelaars) die willen helpen, op de Gnome goals-wikipagina verschillende taken die nog voltooid moeten worden. Hier vindt u een automatisch bijgewerkt overzicht van het overgebleven werk voor modules die worden ondersteund door jhbuild.
- 5.1. Opschonen van het platform
- 5.2. GTK+ 2.18
- 5.3. GLib
- 5.4. Gnome Documentatieproject
- 5.5. Gnome Bluetooth
- 5.6. De webbrowser Epiphany
- 5.7. Tijdsregistratie-applet
- 5.8. Gnome Media
- 5.9. Mediaspeler
- 5.10. Werkplek op afstand
- 5.11. Brasero
5.1. Opschonen van het platform
Er is veel moeite gedaan om afgekeurde modules en functionaliteit te verwijderen op weg naar Gnome 3.0.
Gnome 2.28 bevat geen toepassingen meer die afhangen van esound, libgnomevfs, libgnomeprint of libgnomeprintui.
Andere verbeteringen in het Gnome-platform in Gnome 2.28 zijn:
- Twee modules zijn onafhankelijk gemaakt van libart_lgpl (namelijk eog en gtkhtml).
- Vijf modules zijn onafhankelijk gemaakt van libbonobo(ui) (namelijk gnome-control-center, gcalctool, gnome-media, gtkhtml en accerciser).
- 28 modules zijn onafhankelijk gemaakt van libglade (namelijk accerciser, alacarte, gnome-control-center, dasher, empathy, gcalctool, gnome-games, gnome-netstatus, gnome-nettool, gnome-mag, gnome-menus, gnome-panel, gnome-power-manager, gnome-screensaver, gnome-session, gnome-settings-daemon, gnome-system-tools, gnome-utils, gtkhtml, hamster-applet, libgnomekbd, orca, pessulus, seahorse, vino, vinagre, yelp en zenity).
- 14 modules zijn onafhankelijk gemaakt van libgnome (namelijk anjuta, gnome-control-center, dasher, evolution-webcal, gconf, gdl, gdm, gnome-desktop, gnome-media, gnome-system-tools, gok, gtkhtml, vino en yelp).
- Drie modules zijn onafhankelijk gemaakt van libgnomecanvas (namelijk anjuta, gtkhtml en zenity).
- Eén module is onafhankelijk gemaakt van libgnomeprint(ui) (namelijk gnome-games).
- 16 modules zijn onafhankelijk gemaakt van libgnomeui (namelijk anjuta, gnome-control-center, dasher, deskbar-applet, gnome-mag, gnome-media, gnome-settings-daemon, gnome-system-tools, gnome-utils, gok, gtkhtml, hamster-applet, nautilus, orca, vino en yelp).
- Drie modules zijn onafhankelijk gemaakt van libgnomevfs (namelijk dasher, gnome-mag en gnome-utils).
- Veel modules tonen nu prettigere en schonere uitvoer tijdens het compileren, door AM_SILENT_RULES of Shave te gebruiken. Zie voor meer informatie http://live.gnome.org/GnomeGoals/NicerBuilds.
- Sommige modules zijn begonnen GIntrospection te gebruiken — zie http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport voor meer details.
Veel toepassingen zijn ook gestopt afgekeurde GTK+- en GLib-symbolen te gebruiken en hebben het nieuwe beleid toegepast om alleen top level-headers van GTK+ en GLib in te voegen.
5.2. GTK+ 2.18
GTK+ 2.18 is de laatste uitgave van de toolkit GTK+, de kern van Gnome. GTK+ 2.18 introduceert een aantal nieuwe mogelijkheden voor ontwikkelaars, en verder zijn er fouten gerepareerd en is code opgeschoond voor de aankomende GTK+ 3.0.
Het venster voor bestandskeuze heeft een aantal verbeteringen. Het onthoudt nu sorteringen en heeft betere standaardinstellingen, zoals het verbergen van backup-bestanden en het tonen van de Grootte-kolom. Ook is het afkorten in de locatiebalk verbeterd.
GTK+ heeft ook een aantal verbeteringen, waaronder:
- GtkEntry-widgets kunnen nu ook als een voortgangsbalk gebruikt worden.
- GtkEntry heeft een model-view-scheiding.
- GtkLabel kan ingebedde URIs weergeven.
- Er is ondersteuning voor het afdrukken van een selectie.
- Pagina-instellingen kunnen in het afdruk-dialoogvenster worden opgenomen.
- Statuspictogrammen hebben een titel-eigenschap, voor verbeterde toegankelijkheid.
- Een nieuwe widget, GtkInfoBar, is toegevoegd om mededelingen in het hoofdvenster te tonen in plaats van in een dialoogvenster.
- GTK+ kan gecompileerd worden met een moderne versie van automake (versie 1.7 is niet meer noodzakelijk) en in stille modus met de opdracht "make V=0".
5.3. GLib
GNIO is opgegaan in GIO, en er zijn nu APIs beschikbaar voor het werken met IPv4- en IPv6-adressen, het achterhalen van hostnames, reverse IP-lookup, socket-I/O op laag niveau en het werken met netwerkverbindingen en -services.
Van GArray, GMappedFile en GTree wordt nu het aantal referenties geteld.
De main-loop ondersteunt standaard-contexten per thread.
Ondersteuning is toegevoegd voor lees-en-schrijftoegang met GIOStream en haar subklassen.
GLib biedt nu ook ondersteuning voor metadata per bestand.
5.4. Gnome Documentatieproject
Ondersteuning voor Mallard, de nieuwe XML-taal voor Gnome-documentatie, is toegevoegd aan Yelp en aan gnome-doc-utils.
Mallard is een zeer volledige XML-opmaaktaal voor auteurs van documentatie. De taal is speciaal ontworpen voor onderwerpgeoriënteerde hulp, en is makkelijker te leren dan Docbook.
De hulp voor Empathy is de eerste Gnome-documentatie die geschreven is in Mallard, en ook de eerste documentatie die gebruik maakt van een Creative Commons GelijkDelen 3.0-licentie, wat in de toekomst alle Gnome-documentatie zal doen.
5.5. Gnome Bluetooth
Ondersteuning voor plugins is toegevoegd en beschikbaar tijdens het instellen van apparaten, wat het mogelijk maakt voor Gnome-toepassingen om Bluetooth-apparaten te gebruiken.
Moderne widgets voor Bluetooth-apparaatselectie zijn toegevoegd, waaronder een knop en een keuzemenu.
5.6. De webbrowser Epiphany
Epiphany’s omschakeling naar WebKit heeft in Epiphany een aantal verbeteringen opgeleverd voor ontwikkelaars.
WebKitGTK+ biedt extreem snelle JavaScript-verwerking, minder geheugengebruik, een GObject-API en een ingebouwde web-inspector. Epiphany biedt nu ook ondersteuning voor extensies in Seed (JavaScript), en met deze toevoeging is ondersteuning voor Python verwijderd.
Epiphany gebruikt ook libsoup voor de implementatie van HTTP, en proxy-servers werken nu in heel Gnome op dezelfde manier. Ontbrekende functies in libsoup zijn onder andere HTTP-cache- en inhoudscodering.
Tot slot is het contextmenu in de web-weergave nog niet aangepast voor Epiphany, maar de standaard WebKit-weergave wordt gebruikt.
5.9. Mediaspeler
De xine-lib-backend is verwijderd van Mediaspeler, en een asynchrone parser-API is toegevoegd.