Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al 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, de acuerdo con las recomendaciones de GNOME HIG (Directrices de Interfaz Humana). La biblioteca incluye widgets y objetos listos para la construcción de aplicaciones que corresponden al estilo general de GNOME, cuya interfaz puede adaptarse 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 al estilo GNOME

La biblioteca libadwaita se utiliza en combinación con GTK4 e incluye componentes del tema Adwaita utilizado en GNOME, que han sido extraídos de GTK a una biblioteca separada. El código de libadwaita se basa en la biblioteca libhandy y se posiciona como un reemplazo de esta, que fue originalmente creada para construir interfaces adaptativas en plataformas móviles basadas en tecnologías GNOME, y fue perfeccionada en el entorno GNOME Phosh para el teléfono inteligente Librem 5.

La biblioteca incluye widgets estándar que abarcan diversos 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 PCs y laptops como en pequeñas pantallas táctiles de teléfonos inteligentes. La interfaz de las aplicaciones cambia dinámicamente en función del tamaño de la pantalla y de los dispositivos de entrada disponibles. La biblioteca también incluye un conjunto de estilos Adwaita, que ajustan la apariencia de acuerdo con las recomendaciones de GNOME, sin necesidad de realizar una adaptación manual.

La extracción de elementos visuales de GNOME en una biblioteca separada permite desarrollar las modificaciones necesarias para GNOME de manera independiente de GTK, lo que brinda a los desarrolladores de GTK la oportunidad de concentrarse en aspectos fundamentales, mientras que los desarrolladores de GNOME pueden avanzar más rápida y ágilmente en las modificaciones de estilo que necesitan, sin afectar al propio GTK. Sin embargo, este enfoque crea dificultades para los desarrolladores de entornos de usuario alternativos basados en GTK, quienes deben elegir entre utilizar libadwaita y ajustarse a las particularidades de GNOME y replicar su estilo, o desarrollar su propia versión de la biblioteca de estilos para GTK, aceptando que las aplicaciones de GNOME se verán heterogéneas en entornos basados en bibliotecas de estilos de terceros.

La principal insatisfacción de los desarrolladores de entornos de terceros se refiere a los problemas con la redefinición de los colores de los elementos de la interfaz, pero los desarrolladores de libadwaita están trabajando en proporcionar una API para gestionar los colores de forma flexible, que estará incluida en una de las próximas versiones. Entre los problemas no resueltos también se menciona el correcto funcionamiento de los widgets de control gestual solo en pantallas táctiles; para los touchpads, el correcto funcionamiento de dichos widgets se garantizará más adelante, ya que requiere modificaciones en GTK.

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

  • Juego de estilos completamente renovado. La temática de diseño Adwaita utilizada en GNOME se ha separado de GTK y modernizado, mientras que la antigua temática se ha fijado en GTK bajo el nombre 'Default'. Una de las diferencias más notables de libadwaita en comparación con el tema 'Default' es el cambio en el diseño de las cabeceras de las ventanas.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Se han modificado los mecanismos de vinculación de colores a los elementos y el cambio de colores durante el funcionamiento de la aplicación (los problemas están relacionados con el hecho de que libadwaita ha cambiado a SCSS, que requiere una recompilación para reemplazar el color). Para cambiar los colores de los elementos, necesario por ejemplo en GNOME Web para marcar la transición al modo incógnito, se ha aplicado un método propuesto en elementary OS, basado en la definición de una lista fija de colores nombrados a través de '@define-color'. Al mismo tiempo, los colores de muchos elementos de la interfaz ahora se calculan en relación con el color base del texto y cambian automáticamente, lo que impide que las aplicaciones controlen completamente el esquema de color (los desarrolladores están trabajando para eliminar esta limitación).
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOMELanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Se ha mejorado la calidad de visualización al usar temas oscuros gracias a un mayor contraste en la destacación de los elementos. El color acentuado (accent) se ha vuelto más brillante y se ha añadido otro color para la destacación, el cual puede cambiar según el tema oscuro o claro.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOMELanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Se han añadido un gran número de nuevas clases de estilos para su uso en las aplicaciones. Por ejemplo, '.pill' para botones grandes y redondeados, la posibilidad de usar '.flat' en GtkHeaderBar, '.accent' para establecer el color de acentuación en etiquetas, '.numeric' para tipografía tabular, '.card' para el uso de fondo y sombra como en listas.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Los grandes archivos SCSS monolíticos se han dividido en una colección de archivos más pequeños con estilos.
  • Se ha añadido una API para configurar el estilo oscuro y el modo de alta contrastación.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Se ha revisado la documentación, para cuya generación ahora se utiliza la herramienta gi-docgen.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Se ha añadido una API para la animación, que se puede utilizar para crear efectos de transición al cambiar de un estado a otro, así como para crear efectos de rebote (spring animation).
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Para las pestañas basadas en AdwViewSwitcher se ha añadido la posibilidad de mostrar etiquetas con el número de notificaciones no leídas.
    Lanzamiento de la biblioteca Libadwaita 1.0 para crear interfaces al estilo GNOME
  • Se ha añadido la clase AdwApplication (subclase de GtkApplication) para la inicialización automática de Libadwaita y la carga de estilos.
  • Se ha añadido una colección de widgets para simplificar operaciones estándar: AdwWindowTitle para establecer el título de la ventana, AdwBin para facilitar la creación de subclases, AdwSplitButton para botones combinados, AdwButtonContent para botones con íconos y etiquetas.
  • Se ha realizado una limpieza de la API.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster