Novedades para los desarrolladores

Se han mejorado las tecnologías de desarrollo de GNOME para 3.0. Gracias a la consolidación de una gran cantidad de trabajo, muchos módulos se han quedado obsoletos. Se han simplificado y modernizado muchos complementos, y se han reemplazado varias tecnologías con características superiores.

3.1. Gráficos modernos

GTK+, el kit de herramientas gráficas de GNOME, ha hecho limpieza de las API de dibujo obsoletas. Esto le ha permitido consolidarse alrededor de gráficos modernos, haciéndolo más rápido y portable.

3.2. Manejo avanzado de dispositivos de entrada

GTK+ usará XInput2 si está disponible. Esto ofrece un número de ventajas significativas, como el soporte de conexión de dispositivos en caliente y el soporte de dispositivos de entradas complejos como tabletas. La integración con XInput2 también habilita múltiples dispositivos apuntadores, lo que significa que GNOME está listo para la llegada del «multitoque» en X11.

3.3. Capacidades de los temas mejoradas

GNOME 3.0 introduce un nuevo sistema de temas visuales. Los temas más legibles son gracias al uso de la sintaxis CSS, y los autores de temas ahora tienen acceso a una gama más amplia de efectos tales como curvas, degradados y colores alfa. El nuevo sistema también soporta animaciones implícitas y colores RGBA.

3.4. Soporte multiplataforma

GTK+ 3.0 incluye una nueva capacidad para soportar con facilidad múltiples plataformas (estas se pueden construir al mismo tiempo y seleccionarse en tiempo de ejecución). Esto hará que la transición a nuevas plataformas, como Wayland, sea mucho más fácil.

3.5. Creación fácil de aplicaciones

La nuevo clase GtkApplication se encarga automáticamente de muchas tareas de integración de aplicaciones, incluyendo el seguimiento de las ventanas abiertas, asegurando la unicidad y exportando acciones. Esto significa que la creación de una aplicación de GNOME es más cómoda y requiere menos código. Este servicio se ampliará aún más durante el ciclo de 3.x.

3.6. Vínculos de primera clase

GNOME siempre ha apoyado una serie de lenguajes de alto nivel. La introducción de la introspección de GObject en GNOME 3.0 significa que estos «bindings» de lenguajes se actualizan dinámicamente, garantizando la fiabilidad y dando a los desarrolladores el acceso a la gama completa de funcionalidad contenida en las tecnologías del núcleo.

3.7. Configuración rápida y sencilla

La configuración de las anteriores instalaciones de GNOME se ha sustituido por dos componentes nuevos para la versión 3.0. Ambos tienen grandes ventajas sobre sus predecesores. «GSettings» proporciona una sencilla y eficaz configuración de la API y permite a las propiedades de clase ajustarse a la configuración con poco esfuerzo. «dconf» es el nuevo sistema ultrarrápido de almacenamiento recuperación de parte de la asociación.

3.8. Interfaces de usuario más ricas y flexibles

Se ha mejorado la capacidad de diseño del kit de herramientas de la interfaz de GNOME, lo que hace que la asignación de espacio para los controles de la interfaz y la muestra del contenido sea más flexible y eficiente. 3.0 también introduce varios widgets de interfaz nuevos, como un interruptor y un diálogo de selección de aplicaciones.

Figura 7El nuevo diálogo de selección de aplicaciones

3.9. Entorno integrado de desarrollo Anjuta

Anjuta, en entorno de desarrollo integrado de GNOME, incluye numerosas mejoras en 3.0, incluyendo la conexión automática de señales a widgets de la interfaz, soporte de autotools/pkg-config mejorado y un sistema de nuevo de integración con Git.

3.10. Actualizar a GNOME 3

La guía de portabilidad contiene instrucciones sobre cómo portar el software de GNOME existente a las nuevas tecnologías de desarrollo.