O que há de novo para desenvolvedores e administradores de sistema

GNOME 3.22 inclui vários novos recursos e melhorias para aqueles que estão trabalhando com tecnologias do GNOME. Continue lendo para mais detalhes!

Suporte de longo prazo ao GTK+

3.22 marca um momento significativo na história do GTK+. Apesar de não ter um número .0 para versão, 3.22 é a primeira em uma série de lançamentos de versões maiores estáveis e é a primeira versão maior do GTK+ desde 3.0. Lançamentos subsequentes na série 3.22.x têm a garantia de terem API e ABI estáveis, com novos lançamentos sendo limitados a correções de erros e de segurança. Essas atualizações do 3.22.x serão fornecidas por pelo menos três anos. Trabalho de desenvolvimento forte continuará em uma série de lançamentos separada, a qual será utilizável por autores de aplicativos que queiram os recursos mais recentes e estão animados em lidar com uma quantidade moderada de instabilidade.

GTK+ 3.22 disponibiliza todas as melhorias apresentadas na série 3.x, tais como estilo de CSS, inspetor de GTK+, animações, novos componentes e muito mais, em uma forma estável. Essa nova forma de organização de lançamentos do GTK+ promete fornecer uma estabilidade de longo prazo para autores de aplicativos que necessitam disto, sem impedir a velocidade em geral do desenvolvimento do GTK+. Esta inovação está sendo apresentada após significativa discussão e consulta aos usuários do GTK+. Mais detalhes podem ser localizados no blog de desenvolvimento do GTK+.

Flatpak

Flatpak, anteriormente conhecido como xdg-app, é a próxima geração em tecnologia para distribuição de aplicativo no Linux. Apesar de ser um projeto independente com seus próprios agendamentos de lançamento, o projeto do GNOME planeja tornar Flatpak um parte integral de sua experiência de desenvolvimento de aplicativos.

Desde o lançamento GNOME 3.20, Flatpak fez progresso significativo e continuou a amadurecer. Um marco importante foi alcançado com a introdução a uma nova coleção de APIs, chamadas de "portais". Eles permitem que aplicativos sejam executados em sandbox para acessar recursos do sistema hospedeiro.

Tecnologias de desenvolvimento do GNOME 3.22 vêm com suporte completo a portais, por meio do Glib e GTK+. Suporte a portais incluem o seletor de arquivos, impressão, abertura de URI, inibir ociosidade/suspensão/encerramento de sessão, capturas de tela, notificações e status de rede. Isso permite que, pela primeira vez, aplicativos sejam escritos de forma a serem executados por completo em sandbox. O acesso a portais é transparente, apesar do GtkFileChooserNative ser recomendado em relação ao GtkFileChooser regular. Mais informações podem ser localizadas em uma publicação no blog do Matthias Clasen.

Mais informações sobre o Flatpak, incluindo documentação de desenvolvimento e uma lista crescente de aplicativos do Flatpak que você possa tentar, podem ser localizados em flatpak.org.

Builder

GNOME 3.22 é um outro grande lançamento para o Builder, com várias peças chaves da nova IDE se encaixando. Um novo perfilador incorporado possibilita localizar problemas de desempenho em seu projeto e vê o Builder se tornar uma IDE multifunção pela primeira vez. O perfilador atualmente oferece suporte a C e C++, com suporte a mais linguagens esperado para o futuro.

A interface gráfica do Builder recebeu um polimento significativo desde 3.20. Um novo alternador de perspetiva fornece uma forma mais elegante de alterar entre modos e a barra de pesquisa foi relocalizada. O mais significativo é a nova "barra de projeto" que fornece informações sobre o projeto, ramo e perfil de compilação, e também possibilita compilar e executar seu projeto com um único clique de qualquer lugar na IDE.

Outras melhorias no Builder 3.22 incluem:

  • Um novo recurso de localizar e substituir, o qual inclui as opções comuns para pesquisa diferenciando maiúsculo de minúsculo, expressões regulares e correspondência de palavras.

  • O editor de código do Builder agora realmente facilita trabalhar com cores, graças ao realce colorido e a uma nova barra lateral de seleção de cores.

  • As páginas para criação, clonagem e abertura de projetos foram melhoradas, com layouts malhores e mais opções de criação de projetos.

  • Um novo plug-in de realce rápido realça o texto que corresponde ao que foi selecionado.

  • Os recuos de C, XML e HTML foram todos expandidos para oferecer suporte a mais estilos de sintaxe.

Melhorias no GTK+

Além de integração de portais do Flatpak, outras melhorias no GTK+ 3.22 incluem:

  • Modos de mistura no CSS. Esse é um recurso comum no CSS que permite que imagens sejam transformadas programaticamente. Georges Stavracas, quem implementou o recurso, forneceu mais detalhes no seu blog.

  • GTK+ 3.22 permite que tablets gráficos serja usados com Wayland. Carlos Garnacho escreveu sobre como adicionar suporte para esses aplicativos.

  • GtkGLArea pode agora ser usado com OpenGL completo ou OpenGL para sistemas embarcados (conhecidos como OpenGL ES ou GLES).

  • GdkMonitor é uma nova e mais conveniente forma de obter informações do monitor, fornecendo informações mais ricas do que anteriormente disponível com o GdkScreen.

Adicionalmente, apesar de não ser introduzido no 3.22, grande progresso foi feito no grafo de cena do GTK, ou GTK Scene Graph (GSK), nos últimos seis meses. Com o novo modelo de lançamento descrito acima, a forma está livre para, em breve, este ser integrado à nova série de lançamento instável do GTK+.

Registro estruturado do Glib

API de registro do Glib foi retrabalhada para oferecer suporte a campos de registro chave-valor estruturados. Isso facilita a adição de registros e possibilita escrever esquemas de registro mais poderosos. Isso também possibilita incluir mais metadados em mensagens de registro, tais como IDs de mensagem.

Como uma parte desse trabalho, a infraestrutura de registro do Glib foi reorganizada em volta de uma função "escritora", na qual um aplicativo especifica sua política de registro. Manipuladores de registros estão obsoletos em favor deste, o que reduz ambiguidade sobre como e onde registros deveriam ser manipulados, e elimina conflitos entre manipuladores de registros.

Glib agora vai automaticamente passar os dados de registro para o systemd-journald, se ele estiver em execução. Saída baseada no padrão de entrada/saída (stdio) funciona da mesma forma que anteriormente, mas com extra de cores!