Ya liberada la version de Libadwaita 1.0, la biblioteca para crear interfaces de estilo Gnome

Los desarrolladores de GNOME dieron a conocer la primera versión estable de la biblioteca libadwaita, que incluye un conjunto de componentes para diseñar interfaces de usuario que siguen las pautas de GNOME HIG (Directrices de interfaz humana).

La biblioteca incluye widgets y objetos listos para usar para crear aplicaciones que se ajustan al estilo general de GNOME, cuya interfaz se puede adaptar a pantallas de cualquier tamaño.


La biblioteca libadwaita se usa junto con GTK4 e incluye componentes del tema GNOME Adwaita que se han movido de GTK a una biblioteca separada.

El código libadwaita se basa en la biblioteca libhandy y está posicionado para reemplazar esta biblioteca, que se creó originalmente para crear una interfaz adaptable en plataformas móviles basadas en tecnologías GNOME y se perfeccionó en el entorno Phosh GNOME para el teléfono inteligente Librem 5.

La biblioteca incluye widgets estándar que cubren varios elementos de la interfaz, como listas, paneles, bloques de edición, botones, pestañas, formularios de búsqueda, cuadros de diálogo, etc. Los widgets propuestos permiten crear interfaces universales que funcionan orgánicamente tanto en pantallas grandes de PC y portátiles como en pantallas táctiles pequeñas de teléfonos inteligentes.

La interfaz de la aplicación cambia dinámicamente según el tamaño de la pantalla y los dispositivos de entrada disponibles. La biblioteca también incluye un conjunto de ajustes preestablecidos de Adwaita que alinean la apariencia con las pautas de GNOME, sin necesidad de personalización manual.

Mover las imágenes de GNOME a una biblioteca separada permite que los cambios necesarios para GNOME se desarrollen por separado de GTK, lo que permite a los desarrolladores de GTK centrarse en lo básico y a los desarrolladores de GNOME impulsar los cambios de estilo que necesitan de manera más rápida y flexible sin afectar a GTK en sí.

Sin embargo, este enfoque plantea un desafío para los desarrolladores de entornos de usuario basados ​​en GTK de terceros que tienen que usar libadwaita y adaptarse a las especificaciones de GNOME y reinventarlo o desarrollar su propia versión de la biblioteca de estilos GTK, resignándose a lo que GNOME las aplicaciones se verán heterogéneas en entornos basados ​​en bibliotecas de estilo de terceros.

La principal frustración de los desarrolladores de entornos de terceros se refiere a los problemas con la anulación de los colores de los elementos de la interfaz, pero los desarrolladores de libadwaita están trabajando para proporcionar una API para la gestión flexible del color, que formará parte de una versión futura.

Entre los problemas no resueltos, también se llama el correcto funcionamiento de los widgets de control de gestos solo en pantallas táctiles; para los paneles táctiles, el correcto funcionamiento de dichos widgets se proporcionará más adelante, ya que requiere cambios en el GTK.

Los principales cambios en libadwaita en comparación con libhandy:

  • El conjunto de estilos completamente rediseñado.
  • Se cambiaron los mecanismos para vincular colores a elementos y cambiar colores durante el funcionamiento de la aplicación (los problemas están relacionados con el hecho de que libadwaita cambió a SCSS, lo que requiere volver a ensamblar para reemplazar el color).
  • Calidad de visualización mejorada cuando se usan temas oscuros debido a una selección de elementos más contrastada.
  • Libhandy se convirtió en libadwaita
  • Se agregó una gran parte de las nuevas clases de estilo para usar en aplicaciones.
  • Los archivos SCSS monolíticos grandes se dividen en una colección de archivos de estilo pequeños.
    Se agregó API para configurar el estilo oscuro y el modo de alto contraste.
  • La documentación se ha reelaborado y ahora se genera utilizando el kit de herramientas gi-docgen.
  • Se agregó una API de animación que se puede usar para crear efectos de transición al reemplazar un estado por otro, así como para crear animaciones de resorte.
  • Para las pestañas basadas en AdwViewSwitcher, se agregó la capacidad de mostrar etiquetas con la cantidad de notificaciones no vistas.
  • Se agregó la clase AdwApplication (subclase de GtkApplication) para la inicialización automática de Libadwaita y estilos de carga.
    Se ha agregado una selección de widgets para simplificar las operaciones comunes:
  • AdwWindowTitle para configurar el título de la ventana, AdwBin para simplificar la creación de subclases secundarias, AdwSplitButton para botones combinados, AdwButtonContent para botones con un icono y una etiqueta.
  • Realizada la limpieza de la API.

Finalmente si estas interesado en poder conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.