Nouveautés pour les développeurs

Les changement suivants sont importants pour les développeurs utilisant GNOME 2.26 comme plate-forme de développement. Si vous n'êtes pas intéressé par les changements affectant les développeurs, vous pouvez passer directement à la section Section V ― Internationalisation.

Tout comme le bureau GNOME, GNOME 2.26 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 peuvent être utilisées pour le développement d'applications multiplates-formes.

Se défaire de l'utilisation de bibliothèques obsolètes

À partir de GNOME 3.0, plusieurs parties obsolètes de GNOME seront supprimées. Ces composants obsolètes regroupent des bibliothèques spécifiques à GNOME comme libgnome, libgnomeui, libgnomeprint, libgnomeprintui, libglade 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 tranquille vers GNOME 3.0.

Les développeurs sont fortement encouragés à suivre cet exemple dans leurs propres applications. Aussi, pour tous les développeurs (ou développeurs potentiels) qui voudraient nous aider, la page wiki GNOME goals présente les différentes tâches qui doivent encore être réalisées.

IV.I. GTK+ 2.16

GTK+ 2.16 est la dernière version de la bibliothèque de conception d'interfaces graphiques GTK+ qui est au cœur de GNOME. GTK+ 2.16 amène quelques nouvelles fonctionnalités pour les développeurs, mais aussi un important travail de correction de bogues et de nettoyage pour préparer l'arrivée de GTK+ 3.0.

Les composants GtkEntry peuvent dorénavant afficher des icônes au début ou à la fin du composant (suivant la direction du texte dans votre langue). Ces icônes peuvent également être mises en surbrillance ou rendues cliquables.

Figure 8 Des icônes dans GtkEntry

Les composants GtkEntry peuvent maintenant aussi afficher une barre de progression.

Figure 9 Un composant GtkEntry> avec une barre de progression

Une nouvelle interface, GtkActivatable, a été ajoutée aux composants pouvant être connectés à une GtkAction.

IV.II. Accès aux API de gravure de disque

libbrasero-media fournit une API donnant accès à l'infrastructure de gravure de disque de GNOME. Un exemple de son utilisation peut être trouvé dans le lecteur multimédia de GNOME qui inclut un greffon pour graver des DVD et des VCD depuis une vidéo.

IV.III. Accès aux API d'Evince

Une nouvelle bibliothèque, libevview, a été créée pour donner accès au composant EvView utilisé dans Evince. Cela permet aux autres applications d'inclure le composant de visualisation de documents d'Evince.

libevdocument est une bibliothèque qui rend possible le développement de moteurs de rendu tierces pour utilisation dans Evince, sans avoir à les ajouter au dépôt des sources de Evince.

Ces deux bibliothèques ont déjà mis à disposition leur interfaçage pour Python, il est inclus dans gnome-python-desktop.

IV.IV. Anjuta

L'environnement de développement intégré Anjuta a été énormément amélioré dans GNOME 2.26. Le point le plus important est une réécriture du moteur de gestion des symboles qui, combiné avec le nouveau système de signets, permet une navigation bien plus rapide dans le code. L'autodétection des bibliothèques utilisant pkg-config pour la complétion de code et l'aide des appels est également possible.

De plus, l'intégration des systèmes de contrôle de version et l'éditeur d'interface utilisateur Glade ont fait un grand pas en avant. L'arborescence des fichiers affiche maintenant des icônes d'état pour tous les fichiers du projet utilisant les systèmes de contrôle de version Subversion et Git. Il est possible de générer automatiquement les fonctions de rappel depuis Glade, et les fichiers GtkBuilder sont dorénavant pris en charge.

Pour une meilleure prise en charge de la plate-forme GNOME Mobile, le débogage distant avec gdbserver et la prise en charge de Scratchbox (version 2) ont aussi été ajoutés.