Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME

El Proyecto GNOME ha publicado la primera versión estable de la biblioteca Libadwaita, que incluye un conjunto de componentes para el estilo de la interfaz de usuario que sigue las GNOME HIG (Pautas de interfaz humana). La biblioteca incluye widgets y objetos listos para usar para crear aplicaciones que cumplan con el estilo general de GNOME, cuya interfaz se puede ajustar de forma adaptativa a pantallas de cualquier tamaño. El código de la biblioteca está escrito en C y se distribuye bajo la licencia LGPL 2.1+.

Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME

La biblioteca libadwaita se usa junto con GTK4 e incluye componentes del tema Adwaita usado en GNOME, que se han movido de GTK a una biblioteca separada. El código libadwaita se basa en la biblioteca libhandy y se posiciona como sucesora de esta biblioteca, que se creó originalmente para construir una interfaz adaptativa 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 le permiten crear interfaces universales que funcionan sin problemas 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 estilos de Adwaita que aportan la apariencia a las pautas de GNOME sin necesidad de personalización manual.

Mover los elementos de estilo de GNOME a una biblioteca separada permite que los cambios específicos de GNOME se desarrollen por separado de GTK, lo que permite a los desarrolladores de GTK centrarse en las cosas principales y a los desarrolladores de GNOME impulsar de manera más rápida y flexible los cambios de estilo que desean sin afectar al propio GTK. Sin embargo, este enfoque crea dificultades para los desarrolladores de entornos de usuario de terceros basados ​​en GTK, quienes se ven obligados a utilizar libadwaita y adaptarse a las características de GNOME y replicar su diseño, o desarrollar su propia versión de la biblioteca de estilos GTK y aceptar las Aspecto de las aplicaciones GNOME heterogéneas en entornos basados ​​en bibliotecas de estilos de terceros.

La principal queja de los desarrolladores de marcos de terceros se refiere a 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 se incluirá en una versión futura. Entre los problemas no resueltos también se menciona el funcionamiento correcto de los widgets de control de gestos solo en las pantallas táctiles; para los paneles táctiles, el funcionamiento correcto de dichos widgets se garantizará más adelante, ya que requieren cambios en GTK.

Cambios importantes en libadwaita en comparación con libhandy:

  • Conjunto de estilos completamente rediseñado. El tema Adwaita utilizado en GNOME se eliminó de GTK y se modernizó, y el tema antiguo se corrigió en GTK con el nombre "Predeterminado". Una de las diferencias más notables entre libadwaita y el tema "Predeterminado" es el cambio en el diseño de los encabezados de las ventanas.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • Se han cambiado los mecanismos para vincular colores a elementos y cambiar colores mientras la aplicación se está ejecutando (los problemas se deben al hecho de que libadwaita cambió a SCSS, que requiere una reconstrucción para cambiar los colores). Para cambiar los colores de los elementos, que por ejemplo se requiere en GNOME Web para marcar la transición al modo incógnito, se utiliza el método propuesto en elemental OS y se basa en especificar una lista fija de colores con nombre mediante “@define-color”. Sin embargo, los colores de muchos elementos de la interfaz ahora se calculan en relación con el color del texto base y cambian automáticamente, lo que no permite que las aplicaciones controlen completamente la combinación de colores (los desarrolladores están trabajando para eliminar esta limitación).
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOMELanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • La calidad de la visualización se ha incrementado cuando se utilizan temas oscuros debido al resaltado más contrastante de los elementos. El color de acento se ha hecho más brillante y se ha agregado otro color de resaltado, que puede cambiar para temas oscuros y claros.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOMELanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • Se agregó una gran parte de nuevas clases de estilo para usar en aplicaciones. Por ejemplo, ".pill" para botones grandes y redondeados, la posibilidad de usar ".flat" en GtkHeaderBar, ".accent" para establecer un color de acento en las etiquetas, ".numeric" para tipografía de tabla, ".card" para usar fondo y sombra como en las listas.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • Los archivos SCSS monolíticos de gran tamaño se dividen en una colección de archivos de estilo más pequeños.
  • Se agregó API para configurar el estilo de diseño oscuro y el modo de alto contraste.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • La documentación ha sido reelaborada; ahora se utiliza el kit de herramientas gi-docgen para generarla.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • Se ha agregado una API de animación, que se puede utilizar para crear efectos de transición al reemplazar un estado por otro, así como para crear animaciones de primavera.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • Para las pestañas basadas en AdwViewSwitcher, se agregó la capacidad de mostrar etiquetas con la cantidad de notificaciones no vistas.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces de estilo GNOME
  • Se agregó la clase AdwApplication (subclase de GtkApplication) para inicializar automáticamente Libadwaita y cargar estilos.
  • Se ha agregado una selección de widgets para simplificar las operaciones estándar: 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.
  • API limpia.

Fuente: opennet.ru

Añadir un comentario