Nouveautés pour les développeurs

Les modifications suivantes ont de l'importance pour les développeurs utilisant GNOME 2.32 comme plate-forme de développement. Si vous n'êtes pas concerné par les changements relatifs au développement, vous pouvez passer directement à la section Section V ― Internationalisation.

Tout comme le bureau GNOME, GNOME 2.32 est la dernière version de la plate-forme de développement GNOME, un ensemble de bibliothèques aux API et ABI stables, disponibles sous la GNU LGPL, qui peut être utilisé pour le développement d'applications multi-plateformes.

Corriger l'utilisation des bibliothèques abandonnées

À partir de GNOME 3.0, plusieurs parties obsolètes de GNOME seront supprimées. Ces composants obsolètes regroupent des bibliothèques comme libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas, libgnomeprint, libgnomeprintui, libgnomeui et libgnomevfs. Pour les applications qui font partie du bureau GNOME, un certain nombre de tâches de nettoyage ont eu lieu pour s'assurer qu'aucun code obsolète n'était plus utilisé. Cela assurera une transition harmonieuse vers GNOME 3.0.

Les développeurs sont fortement incités à suivre cet exemple pour leurs propres applications. Aussi, pour tout développeur (ou développeur potentiel) qui voudrait nous aider, la page wiki GNOME goals (en anglais) liste les différentes tâches qui restent encore à réaliser. Une vue d'ensemble, automatiquement mise à jour, du travail à faire pour les modules pris en charge par l'outil de construction jhbuild se trouve ici.

IV.I. Glib 2.26

Glib 2.26 incorpore la prise en charge de la classe GSettings, en remplacement de GConf ainsi que de GDBus. Une nouvelle API date/heure est disponible dans GDateTime. Glib inclut également une nouvelle prise en charge pour les marqueurs statiques dtrace et systemtap, pour les liaisons de propriétés de GObject, comme libexo, ainsi que la prise en charge du serveur mandataire pour GSocket. Les autres améliorations concernent de nouvelles macros pour faciliter l'implémentation des types boîte et pointeur dans G_DEFINE_[BOXED|POINTER]_TYPE et, récemment, une nouvelle fonction g_object_notify_by_pspec plus rapide que g_object_notify.

IV.II. Anjuta

Anjuta, atelier de développement logiciel aux fonctionnalités complètes qui intègre la gestion de projets, un débogueur interactif, un éditeur de code source, un concepteur d'interface graphique à contrôle de version entre autres, a été complété de nouvelles fonctionnalités.

Python et Vala sont maintenant complètement pris en charge dans Anjuta y compris les infobulles et la complétion automatique (« IntelliSense »).

Le débogueur d'Anjuta prend maintenant en charge la typographie contextuelle. Au cours du débogage, les objets connus comme les GObject ou les classes C++ sont affichés de manière conviviale. Enfin, la base de données des symboles a connu des améliorations de performance importantes.

IV.III. Diverses mises à jour pour développeurs

Les autres mises à jour dans la plate-forme de développement de GNOME 2.32 comportent l'ajout de la classe libfolks, une bibliothèque pour prendre en charge la fonctionnalité de méta-contacts dans Empathy. Dans Devhelp, il est maintenant possible de déconnecter certains ouvrages spécifiques. La feuille de route GTK+ a été mise à jour et GTK+ 2.22 a ajouté une prise en charge des fonctions de mécanisme d'accès les plus récentes, fonctions nécessaires aux développeurs pour préparer le passage de leurs applications à GTK+ 3.0.