Nouveautés pour les développeurs, les administrateurs système et les distributeurs

GNOME 3.16 propose de nombreuses nouvelles fonctionnalités et améliorations pour ceux qui travaillent avec les technologies GNOME.

GTK+

Avec la version 3.16 l'intégration de OpenGL est arrivée dans GTK+. Cela permet aux applications faisant une uitlisation poussée de 3D d'être écrites en conjonction avec GTK+, en utilisant le nouveau composant GtkGLArea. La prise en charge d'OpenGL dans GTK+ 3.16 constitue un remplacement utile aux bibliothèques GtkGLArea et GtkGLExt précédemment utilisées.

Parmi les autres changements dans cette version de GTK+, on trouve :

  • Un moteur d'affichage système pour le serveur d'affichage Mir.

  • GtkPopoverMenu, un nouveau composant pour créer des menus en surimpression.

  • Les thèmes peuvent dorénavant prendre en charge simultanément plusieurs versions de GTK+ en incluant du code CSS spécifique à la version.

  • Prise en charge améliorée des menus d'applications avec OS X.

  • Comportement de sélection personnalisable dans GtkTextView.

Inspecteur GTK+

L'inspecteur GTK+ a reçu quantité d'améliorations pour 3.16. Dans les nouvelles fonctionnalités, on compte :

  • Une invite JavaScript interactive.

  • Une interface pour la nouvelle fonctionnalité de suivi de mémoire de la GLib.

  • Un zoom pour inspecter les composants (particulièrement utile pour les auteurs de thèmes).

  • Une plus grande isolation de l'inspecteur par l'utilisation d'une différente connexion pour l'affichage. Cela signifie que les changements de paramètres s'appliquent seulement à l'application inspectée, et non plus également à l'inspecteur.

  • Une interface utilisateur grandement améliorée qui utilise l'espace disponible de manière plus efficace et est plus facile à naviguer.

GLib

GNOME 3.16 est accompagné par GLib 2.44. Cette nouvelle version de la GLib inclut un certain nombre de fonctionnalités :

  • GObject instance counting is a new debugging feature which helps to find reference leaks. To use it, set the GOBJECT_DEBUG=instance-count environment variable, and then use g_type_get_instance_count() to get the number of live objects of a given type. GTK+ Inspector has a UI for this.

  • GLib 2.44 introduces GListModel, a GSequence-based object list. This provides an alternative to GtkTreeModel, when data is naturally organized in GObjects. GtkListBox has an API (gtk_list_box_bind_model) to use such models.

  • GLib's network monitor implementation has been significantly improved. This can be accessed using the existing GNetworkMonitor interface, to find out the current network state.

  • The new G_DECLARE_TYPE macro reduces the amount boilerplate required when creating GObjects in C.

  • g_autoptr now provides automatic cleanup for local variables (supported on GCC and Clang).

  • GSimpleIOStream is a new wrapper which makes it easier to construct GIOStreams.

Builder

Builder is a brand new IDE, which is intended to make it easy to create GNOME applications. This initial 3.16 release is an early preview, which shows editing features, such as split view, snippets, auto-indentation and a VIM engine. Builder was backed by a successful crowdfunding campaign early in 2015, and there are big plans for the future. These include project management functionality, global search, version tracking, debugging, Glade integration, and much more.

MultiWriter

MultiWriter is a new application for writing image files to multiple USB devices. It has a range of possible applications, including operating system distribution, QA testing, or promotional use of live USB drives.

Autres améliorations dans 3.16

  • GDK Pixbuf has improved support for loading and saving various image formats, including PNG, JPEG, TIFF, ICO and BMP.

  • Tracker's utilities have been consolidated into a single tracker command. This replaces the previous collection of utilities, making it easier and more convenient to work with Tracker from the command line. tracker --help can be used to list all available subcommands.

  • libsoup, the HTTP client/server library, now supports WebSockets, both client-side and server-side.

Looking to the Future

GNOME 3.16 includes important developments as a part of long-term GNOME technology initiatives.

  • Work towards full Wayland adoption has continued apace in 3.16. Features like input configuration and pointer barriers are now Wayland compatible, and input handling has made major progress through the development of libinput. With these changes, the port to Wayland is now approaching its final stages.

  • The GNOME community has begun development on an exciting new application deployment framework. Called XDG App, this aims to make it possible for developers to create applications that can run on multiple distributions, and for those applications to be sandboxed for additional security and stability.

  • Finally, the arrival of OpenGL support in GTK+ marks a major achievement on the road to the implementation of the GTK+ Scene Graph, which promises to provide an advanced animation framework for GTK+.