Neues für Entwickler
Die folgenden Änderungen sind wichtig für Entwickler, welche die Entwicklungsplattform von GNOME 2.28 verwenden möchten. Wenn Sie dies nicht interessiert, können Sie direkt bei Abschnitt 6 ― Internationalisierung weiterlesen.
So wie für den GNOME-Desktop, ist GNOME 2.28 auch die neueste Version der GNOME-Entwicklerplattform, einer Sammlung von API- und ABI-stabilen Bibliotheken, welche unter der GNU LGPL lizenziert sind und zur Entwicklung plattformübergreifender Anwendung genutzt werden können.
Ab GNOME 3.0 werden zahlreiche veraltete Teile von GNOME entfernt. Diese veralteten Komponenten sind unter anderem GNOME-spezifische Bibliotheken wie libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas, libgnomeprint, libgnomeprintui, libgnomeui und libgnomevfs. Für Anwendungen, die Bestandteil des GNOME-Desktops sind, wurden mehrere Aufräumaufgaben erstellt, um sicher zu stellen, dass kein veralteter Quelltext mehr verwendet wird. Dadurch wird ein einfacher Übergang zu GNOME 3.0 ermöglicht.
Allen Entwicklern wird empfohlen, diesem Beispiel bei ihren eigenen Anwendungen zu folgen. Weiterhin listet die Wiki-Seite GNOME goals verschiedene Aufgaben für Entwickler (oder potenzielle Entwickler) auf, die noch erledigt werden müssen. Eine automatisch erstellte und aktualisierte Übersicht über die noch verbleibende Arbeit bei Modulen, welche vom Skriptwerkzeug jhbuild verwendet werden, können auf einer extra Internet-Seite gefunden werden.
- 5.1. Plattformsäuberung
- 5.2. GTK+ 2.18
- 5.3. GLib
- 5.4. GNOME-Dokumentation
- 5.5. GNOME-Bluetooth
- 5.6. Internet-Browser Epiphany
- 5.7. Applet zur Zeiterfassung
- 5.8. GNOME-Media
- 5.9. Totem
- 5.10. Vinagre
- 5.11. Brasero
5.1. Plattformsäuberung
Große Anstrengungen wurden unternommen, um veraltete Module und Funktionen in Vorbereitung auf GNOME 3.0 zu entfernen.
Mit GNOME 2.28 gibt es nun keine Anwendungen mehr, die von esound, libgnomevfs, libgnomeprint oder libgnomeprint abhängen.
Weitere Verbesserungen an der Plattform von GNOME 2.28 sind:
- Eine Abhängigkeit von libart_lgpl wurde aus den Modulen eog und gtkhtml entfernt.
- Abhängigkeiten von libbonobo(ui) wurde aus den fünf Modulen gnome-control-center, gcalctool, gnome-media, gtkhtml und accerciser entfernt.
- Die Abhängigkeit von libglade wurde aus diesen 28 Modulen entfernt: 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 und zenity.
- libgnome wurde als Abhängigkeit aus 14 Modulen entfernt: anjuta, gnome-control-center, dasher, evolution-webcal, gconf, gdl, gdm, gnome-desktop, gnome-media, gnome-system-tools, gok, gtkhtml, vino und yelp.
- Abhängigkeiten von libgnomecanvas wurde aus drei Modulen entfernt: anjuta, gtkhtml und zenity.
- libgnomeprint(ui) wurde als Abhängigkeit in gnome-games entfernt.
- 16 Module sind nicht mehr abhängig von libgnomeui: 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 und yelp.
- Die Abhängigkeit von libgnomevfs wurde aus dasher, gnome-mag und gnome-utils entfernt.
- Viele Module geben nun bessere und eindeutigere Informationen beim Kompilieren aus, indem sie mit AM_SILENT_RULES oder Shave gebaut werden. Sehen Sie für mehr Informationen unter http://live.gnome.org/GnomeGoals/NicerBuilds nach.
- In einigen Module wurde die Unterstützung von GIntrospection eingebaut. Schauen Sie für weiterführende Details unter http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport nach.
In vielen Modulen wurde weiterhin die Verwendung veralteter GTK+- und GLib-Symbole entfernt und die Richtlinie zum Verwenden der Top-Level-Header von GTK+ und GLib umgesetzt.
5.2. GTK+ 2.18
GTK+ 2.18 ist die aktuelle Version des GTK+-Toolkit, welches das Herz von GNOME bildet. Neben dem Hinzufügen einer Reihe neuer Funktionen für Entwickler wurden in GTK+ 2.18 zahlreiche Fehler behoben und eine Grundreinigung vorgenommen, um den Wechsel auf das anstehende GTK+ 3.0 zu vereinfachen.
Der Dateiwähler hat einige Verbesserungen erfahren. So merkt er sich nun die Sortierart und hat bessere Vorgabewerte, wie z.B. die Sicherungskopien auszublenden und standardmäßig die Größenspalte anzuzeigen. Weiterhin wurde die Ellipsierung in der Pfadleiste verbessert.
Weitere Verbesserungen in GTK+ sind:
- Witerhin kann das Widget GtkEntry nun dazu verwendet werden, um Fortschrittsbalken anzuzeigen.
- GtkEntry hat nun eine Model-View-Aufteilung.
- GtkLabel zeigt eingebettete URI-Adressen.
- Das Drucken einer Auswahl wird nun unterstützt.
- Kontrollelemente zur Seiteneinrichtung können nun in den Druckdialog eingebettet werden.
- Statussymbole haben nun eine Titeleigenschaft, um die Barrierefreiheit zu verbessern.
- Das neue Widget GtkInfoBar wurde hinzugefügt, mit dem Mitteilungen im Hauptfenster statt in einem extra Dialog angezeigt werden können.
- GTK kann nun mit aktuellen Versionen von automake (automake 1.7 wird nicht mehr benötigt) und mittels des Befehls »make V=0« im Silent-Modus gebaut werden.
5.3. GLib
GNIO ist in GIO eingeflossen, die APIs für das Arbeiten mit IPv4- und IPv6-Adressen, Namensauflösung, umgekehrte IP-Auflösung und Low-Level Socket-I/O, und für das Arbeiten mit Netzwerkverbindungen und -diensten sind jetzt Bestandteil.
GArray, GMappedFile und GTree werden jetzt referenziell gezählt.
Der Main-Loop unterstützt nun per-Thread-Standard-Kontexte.
Lese- und Schreibzugriff mit GIOStream und dessen Unterklassen wird nun unterstützt.
Außerdem unterstützt GLib nun Metadaten für einzelne Dateien.
5.4. GNOME-Dokumentation
Yelp und die gnome-doc-utils unterstützen nun Mallard, die neue XML-Sprache der GNOME-Dokumentation.
Mallard ist eine umfassende XML-Auszeichnungssprache für Dokumentationsautoren, die speziell für themenorientierte Hilfen entworfen wurde und schneller erlernt werden kann als Docbook.
Die Hilfe von Empathy ist die erste GNOME-Dokumentation, die in Mallard geschrieben wurde und ist außerdem die erste Dokumentation, deren Lizenz zu Creative Commons Share-Alike 3.0 geändert wurde, wie es in Zukunft für alle Dokumentationen geschehen wird.
5.5. GNOME-Bluetooth
Die Unterstützung für Erweiterungen wurde hinzugefügt, welche nun beim Einrichten eines Gerätes zur Verfügung stehen, wodurch es anderen GNOME-Anwendungen ermöglicht wird, Bluetooth-Geräte zu verwenden.
Moderne Bluetooth-Geräteauswahlelemente, darunter Knöpfe und Auswähler, wurden hinzugefügt.
5.6. Internet-Browser Epiphany
Durch den Wechsel von Epiphany auf WebKit, stehen Entwicklern zahlreiche Erweiterungen zur Verfügung.
WebKitGTK+ bringt eine extrem schnelle Javascript-Verarbeitung mit, weniger Speicherverbrauch, eine GObject-API und einen eingebauten Web-Inspektor. Weiterhin unterstützt Epiphany nun Javascript-Seed-Erweiterungen, womit die Unterstützung für Python entfernt wurde.
Weiterhin verwendet Epiphany libsoup für die HTTP-Implementierung und Proxys funktionieren nun genauso wie überall in GNOME. Fehlende Funktionen in libsoup sind ein HTTP-Cache und Inhaltskodierung.
Schließlich ist auch das Kontextmenü in der Web-Ansicht noch nicht für Epiphany angepasst, wodurch derzeit die Standard-WebKit-Ansicht genutzt wird.
5.7. Applet zur Zeiterfassung
Alle Funktionen stehen nun über eine introspektive D-Bus-API zur Verfügung.
5.9. Totem
Das xine-lib-Backend wurde aus Totem entfernt und eine asynchrone Parsing-API wurde hinzugefügt.