What's New for Developers
The following changes are important for developers using the GNOME 2.30 developer platform. If you're not interested in changes for developers, you can skip forward to Avsnitt 6 ― Internationalisering.
As well as the GNOME Desktop, GNOME 2.30 is the latest release of the GNOME Developer Platform, a set of API- and ABI-stable libraries available under the GNU LGPL which can be used for the development of cross-platform applications.
Starting with GNOME 3.0, various deprecated parts of GNOME will be removed. These deprecated components include libraries such as libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas, libgnomeprint, libgnomeprintui, libgnomeui, and libgnomevfs. For applications that ship as part of the GNOME Desktop, a number of cleanup tasks have been carried out to ensure no deprecated code is used. This will ensure a smooth transition to GNOME 3.0.
Developers are strongly urged to follow this example in their own applications too. Furthermore, for any developers (or potential developers) who wish to help us out, the GNOME goals wiki page lists the various tasks that are yet to be completed. An automatically created and updated status overview of remaining work for modules that are supported by the jhbuild build tool can be found here.
- 5.1. Platform Cleanup
- 5.2. GTK+ 2.20
- 5.3. Empathy
- 5.4. Anjuta
- 5.5. GNOME Platform Improvements
5.1. Platform Cleanup
Large efforts have been undertaken to remove deprecated modules and functionality on the way to GNOME 3.0.
Many applications have also removed the usage of deprecated GTK+ and GLib symbols and have applied the new policy to only include top level headers of GTK+ and GLib.
5.2. GTK+ 2.20
GTK+ 2.20 is the latest release of the GTK+ toolkit, which is at the heart of GNOME. GTK+ 2.20 includes new features for developers, as well as extensive bug fixing and housecleaning for the upcoming GTK+ 3.0.
GTK+ has also seen a number of other improvements, including:
- A throbber widget, GtkSpinner, and cell renderer, GtkCellRendererSpinner have been added.
- GtkToolPalette is a new container to show tool items in collapsible groups.
- GtkNotebook can now have action widgets next to tabs.
5.3. Empathy
libempathy and libempathy-gtk have been removed and developers should use telepathy-glib instead.
5.4. Anjuta
Anjuta features improved code completion, including completion of ., -> and :: in C and C++.
Code completion is now completely asynchronous so it won't disturb you any more while you are typing.
Anjuta now supports Vala symbols in the symbol manager; full JavaScript support including code completion, debugging and building; and basic support for non-automake projects.
5.5. GNOME Platform Improvements
Other GNOME Platform improvements in GNOME 2.30 include:
- Evolution and Evolution-Data-Server have completely removed Bonobo in anticipation of GNOME 3.0. Evolution-Data-Server now uses D-Bus behind the same client-side APIs.
- Brasero now has GObject-introspection support for libbrasero-media and libbrasero-burn.
- The GNOME Magnifier, gnome-mag, supports D-Bus as Bonobo support is deprecated.
- Devhelp now has a fullscreen mode and will look for symbols on library.gnome.org when the symbols are not found locally.
- GLib has added GConverter, a generic interface for streaming data conversion. Threads are now enabled automatically when g_type_init() is called.
- gnome-keyring has implemented a new "Secret Service" cross-desktop password storage D-Bus API.