Nouveautés pour les développeurs

La plate-forme de développement de GNOME 2.12 fournit des fondations solides pour les développeurs de logiciels ainsi que pour l'environnement GNOME lui même. GNOME 2.12 apporte quelques améliorations visuelles et au niveau des API, tout en garantissant une rétro-compatibilité ainsi que la stabilité des API. Il est maintenant plus facile de développer des applications qui s'exécutent sous Unix ou sous Windows et qui utilisent des standards permettant l'interopérabilité avec d'autres environnements de bureau.

III.I. Améliorations de GTK+

GTK+ 2.8 apporte certaines améliorations visibles au niveau utilisateur à GNOME 2.12, telles que :

  • Gtk+ utilise maintenant l'API d'affichage cairo de freedesktop, rendant l'affichage de widgets personnalisés plus aisé à implémenter et permettant de nouveaux effets. Dans un futur proche, cela devrait permettre à GNOME de bénéficier de nouveaux effets graphiques ainsi que de l'accélération matérielle ou encore d'améliorer l'API d'impression ;
  • La gestion du glisser-déposer a été amélioré et permet la prévisualisation de morceaux de texte quand on les déplace.

En plus de ces changements que toutes les applications basées sur GTK+ peuvent utiliser sans recompilation, plusieurs API ont été ajoutées pour rendre le développement encore plus facile. Cela inclut :

  • GtkFileChooser peut maintenant demander une confirmation avant d'écraser un fichier lors d'une sauvegarde ;
  • GtkWindow peut utiliser un indicateur d'urgence destiné au gestionnaire de fenêtres afin de, par exemple, mettre en évidence le titre de la fenêtre ;
  • GtkIconView implémente l'interface GtkLayout et peut effectuer le rendu des éléments via GtkCellRendererCells ;
  • GtkTextView vous permet maintenant de définir une couleur de fond pour les paragraphes et vous permet d'ignorer les textes invisibles lors des itérations ;
  • GtkScrolledWindow possède des fonctions pour accéder aux barres de défilement ;
  • GtkMenu supporte maintenant les menus verticaux (avec rotation) et peut ignorer le focus clavier pour certaines applications spécifiques tels que le clavier visuel ;
  • La menu de GtkEntryCompletion peut maintenant être plus large que la zone de saisie et peut ne pas être affiché s'il n'y a qu'une possibilité de complétion ;
  • GtkAboutDialog peut maintenant contenir la licence du logiciel ;
  • GtkToolButton peut maintenant utiliser les icônes nommées du thème d'icônes et celles-ci peuvent être également utilisées lors des glisser-déposer ;
  • GtkSizeGroup peut ignorer les widgets masqués.

Vous pouvez également consulter la liste complète des nouveaux symboles dans l'API de GTK+ 2.8.

III.II. Utilisation sur plusieurs systèmes

La bibliothèque GTK+ est déjà populaire chez les développeurs qui doivent pouvoir supporter leur application sur plusieurs systèmes, que ce soit Microsoft Windows, Linux ou Unix. Par exemple, un artiste peut éditer ses images avec GIMP et Inkscape sous Linux ou Windows.

Et maintenant beaucoup d'autres bibliothèques GNOME, dont notamment ORBit2, libbonobo, libgnome, libbonoboui, libgnomeui et gnome-vfs, sont compilables sous Microsoft Windows, rendant plus facile la compilation et la distribution d'applications GNOME sur ce système d'exploitation. Bien que le support ne soit pas encore complet, il peut être suffisant pour certaines applications et devrait être complet dans la prochaine version de GTK+ et de GNOME.

III.III. Conformité aux standards

GNOME travaille de manière rapprochée avec des groupes comme freedesktop.org. Le support des standards est un grand bénéfice pour les utilisateurs et développeurs de GNOME. Le support de l'interopérabilité améliore l'expérience utilisateur en permettant à GNOME, KDE et à d'autres applications de travailler ensemble plus facilement. L'utilisation de spécifications ouvertes participe en outre à l'assurance que les données utilisateur ne sont pas piégées dans des formats propriétaires.

Les développeurs GNOME travaillent ardemment avec les autres membres de la communité du logiciel libre à travers freedesktop.org sur le développement de standards pour permettre l'interopérabilité. Ces standards comprennent notamment les spécifications base de données MIME partagée, thèmes d'icônes, documents récents, menus, entrées bureaux, gestion des vignettes, et zone de notification specifications. En outre, GNOME supporte CORBA, XML, Xdnd, EWMH, XEMBED, XSETTINGS et XSMP.