Novidades para os desenvolvedores, administradores de sistemas e distribuidores

GNOME 3.22 inclúe moitas outras características novas e melloras para aqueles que traballan coas tecnoloxías de GNOME. Siga lendo para coñecer os detalles.

Soporte estendido de GTK+

3.22 marca un momento significativo na historia de GTK+. Aínda que non é unha versión .0, 3.22 é a primeira na nova serie de publicacións estábeis e a primeira versión principal de GTK+ desde 3.0. As publicacións seguintes na serie de 3.22.x teñen garantía de estabilidade de API e ABI, estando as novas publicacións limitadas a arranxos de seguridade e erros. Forneceranse actualizacións para 3.22.x cando menos durante 3 anos. O desenvolvemento principal continuará nunha serie de publicacións separadas, as cales estarán dispoñíbeis para os desenvolvedores de aplicativos que queiran empregar as últimas características e non teñen problema en xestionar unha cantidade moderada de inestabilidade.

GTK+ 3.22 completa e fai estábeis todas as melloras introducidas na serie 3.x, como os estilos CSS, o inspector de GTK+, animacións, novos widgets e moito máis. Esta nova forma de organizar as publicacións de GTK+ promete fornecer estabilidade a largo prazo para os autores de aplicativos que o requiran, e non limita a velocidade de desenvolvemento de GTK+. Introduciuse despois dun gran debate e consultas cos usuarios de GTK+. Pode atopar máis información no blogue de desenvolvemento de GTK+.

Flatpak

Flatpak, anteriormente coñecida como xdg-app, é a tecnoloxía de nova xeración para a distribución de aplicativos en Linux. Aínda que é un proxecto independente coa súa planificación de publicacións, o proxecto GNOME planea facer Flatpak unha parte integral da súa experiencia de desenvolvemento de aplicativos.

Desde a publicación de GNOME 3.20, Flatpak fixo un gran progreso e continuou madurando. Acadouse un importante fito na introdución dun conxunto de APIs, chamados «portais». Isto permite aos aplicativos illados para acceder a recursos para o sistema anfitrión.

As tecnoloxías de desenvolvemento de GNOME 3.22 chegan con compatibilidade completa de portais, mediante GLib e GTK+. Os portais admitidos inclúen o selector de ficheiros, impresión, abrir URI, suspender/pechar sesión/inhibición de suspensión, captura de pantalla, notificacións e estado da rede. Isto permítelle aos aplicativos illados que sexan escritos por primeira vez. O acceso aos portais é transparente, aínda que se recomenda GtkFileChooserNative fronte ao GtkFileChooser normal. Pode atopar máis información no artigo do blogue de Matthias Clasen.

Pode atopar máis información sobre Flatpak, incluíndo documentación de desenvolvemento e unha lista en crecemento dos aplicativos Flatpak que pode probar, en flatpak.org.

Builder

GNOME 3.22 é outra publicación importante para Builder, posicionando varias pezas importantes do novo IDE. Un novo perfilador incorporado fai posíbel atopar problemas de rendemento no seu proxecto, e fai de Builder un IDE multifunción por primeira vez. O perfilador actualmente admite C e C++, con máis linguaxes en camiño para o futuro.

A interface de usuario de Builder obtivo importantes refinamentos desde 3.20. Un novo trocador de perspectiva fornece unha forma máis elegante de cambiar entre os modos, e a barra de busca foi reposicionada. A máis significantiva, unha nova «barra de proxecto» fornece información sobre o proxecto actual, rama e perfíl de construción, tamén fai posíbel construír e executar o seu proxecto con un único clic desde calquera parte do IDE.

Entre as melloras de Builder para 3.22 están:

  • Unha nova característica de buscar e substituír, que inclúe as opcións normais para busca sensíbel a maiúsculas, expresións regulares e coincidencia de palabras.

  • O editor de código de Builder agora simplifica o traballo con cores, grazas ao realce de cor e unha nova barra lateral de selección de cor.

  • As páxinas para crear, clonar e abrir proxectos foron melloradas, con disposicións melloradas e máis opcións de creación de proxectos.

  • Un novo engadido de realce rápido que realza o texto que coincide coa selección actual.

  • As sangrías de C, XML e HTML foron expandidas para admitir máis estilos de sintaxe.

Melloras en GTK+

Ademais da integración dos portais Flatpak, entre as melloras de GTK+ 3.22 están:

  • Modos de mistura de CSS. Esta é unha característica de CSS común que lle permite transformar de forma programática imaxes. Geroges Stavracas, quen implementou a característica escribíu máis información no seu blogue.

  • GTK+ 3.22 permítelle usar tabletas gráficas con Wayland. Carlos Garnacho escribiu sobre como engadir compatibilidade con isto aos aplicativos.

  • GtkGLArea agora pode ser usado tanto co OpenGL completo ou OpenGL para sistemas embebidos (coñedico como OpenGL ES ou GLES).

  • GdkMonitor e unha nova forma máis conveniente de obter información de monitorización, e fornece máis información que a dispoñíbel anteriormente con GdkScreen.

Ademais, aínda que non se introduceu en 3.22, fíxose un gran progreso en facer da GTK Scene Graph (GSK) nos pasados seis meses. Con un novo modelo de publicación descrito embaixo, a forma é máis clara para que sexa integrada na nova serie de publicación inestable de GTK+ no futuro próximo.

Rexistro estructurado de GLib

A API de rexistro de GLib foi rescrita para engadir compatibilidade cos campos de rexistro chave-valor estructurados. ISto fai máis doado engadir rexistros e fai posíbel escribir esquemas de rexistro máis potentes. Tamén fai posíbel incluír máis metadatos nos mensaxes de rexistro, así como IDs de mensaxe.

Como parte de este traballo a información de rexistro de GLib foi reorganizada sobre a función «writer», onde un aplicativo especifica a súa normativa de rexistro. Os xestores de rexistros están obsoletos en favor de isto, o cal reduce a ambigüídade sobre como e onde se deben xestionar os rexistros, e elimina os conflitos entre os xestores de rexistros.

GLib agora pasa automaticamente datos de rexistros a systemd-journald, se está executándose. A saída baseada en stdio funciona como anteriormente, pero co engadido de cor!