Novidades para os desenvolvedores, administradores de sistemas e distribuidores

GNOME 3.20 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.

Builder

Builder é o novo ambiente integrado de desenvolvemento de GNOME. Pretende proporcionar unha experiencia aerodinámica, potente e moderna para construír aplicativos de GNOME, e xa inclúe características como o completado en liña, unha potente busca global, un explorador da documentación, un explorador do árbore de símbolos e moito máis.

A publicación de Builder 3.20 contén varias características novas, así como moitas melloras e refinamentos. As opcións para construír aplicativos foi significativamente estendida: agora é posíbel usar Builder para crear paquetes de xdg-app, así como tamén construír dentro dun ambiente JHBuild. Pode atopar todas estas opcións de construción (e moitas máis) na nova vista de configuración da construción (vexa o artigo de Christian Hergert para saber máis).

Outra das importantes características novas é o marco de traballo de engadidos multi-proceso para engadir unha gran cantidade de funcionalidade a Builder, incluíndo fornecedores de autocompletado, ferramentas, servizos, sistemas de construción, auto sangrados, mineiros de proxectos, fornecedores de busca, tradutores de símbolos, sistemas de control de versións e moito máis.«What can you extend in Builder» fornece unha lista completa das partes que pode estender en Builder co novo sistema de engadidos. Tamén existe un titorial que describe como escribir os seus propios engadidos (parte un, parte dous).

Entre as melloras de Builder para 3.20 están:

  • As preferencias do aplicativo foron redeseñadas para axudarlle a atopar os axustes que precisa máis rapidamente e con unha menor interrupción.

  • O novo complemento de tarefas pendentes mostra unha lista de todos os TODO, FIXME e XXX do seu proxecto, e permítelle navegar até as súas localizacións.

  • Seguiuse mellorando a emulación de VIM, permitindo aos usuarios que prefiren a edición modal sentirse como en casa.

  • Builder agora detecta e realza os erros comúns de gettext.

  • ide, un novo programa de liña de ordes, permítelle crear de forma rápida proxectos que seguen as mellores prácticas da comunidade de GNOME.

  • Para os idiomas que admiten análise semántico, se mantén Ctrl mentres preme nas variables, tipos e funcións para saltar á localización do seu código fonte.

  • Compatibilidade inicial para o linguaxe Vala.

  • O autocompletado agora é moito máis rápido, e conta con coincidencias parciais.

  • Agora é posíbel usar Builder con ccache.

xdg-app

xdg-app é o novo ambiente de traballo multi-distribución para construír e distribuír aplicativos de escritorio en GNU/Linux que está pensado que teña soporte de primeira clase en GNOME. xdg-app non só fai posíbel crear aplicativos que se podan usar en diferentes distribucións, se non que tamén planea ofrecer un modelo de seguranza comprensíbel, limitando a parte do equipo que se expón aos aplicativos.

3.20 é un momento moi significativo para xdg-app, xa que por primeira vez ofrece un gran número de características fundamentais nun avanzado estado de madurez. A versión 3.20 inclúe xdg-app-builder, unha nova ferramenta que simplifica a construción de aplicativos. Alexander Larsson, principal desenvolvedor de aplicativos xdg-app, escribiu un titorial sobre como usalo para construír aplicativos xdg (primeira parte, segunda parte, terceira parte, cuarta parte, quinta parte).

Se quere facer probas de instalación e execución das xdg-apps, hai dispoñíbel unha colección diaria de aplicativos de GNOME. Ademais de ser unha incríbel forma de probar xdg-app, isto tamén é unha boa forma de probar versións de desenvolvemento dos aplicativos de GNOME, e demostra a capacidade de xdg-app para instalar distintas versións dun mesmo aplicativo á vez. Para obter máis información, hai un titorial dispoñíbel.

Outros cambios significativos no ciclo de 3.20 son:

  • Agora é posíbel crear e distribuír paquetes de aplicativo de un único ficheiro. Isto é particularmente útil para distribuír aplicativos usando soportes multimedia físicos.

  • xdg-ap conta con un almacén de permisos xenérico que pode usarse para gardar información sobre que aplicativos poden facer que. Este é un dos primeiros pasos cara o illamento de aplicativos.

  • No paquete do aplicación pódese incluír información detallada sobre o aplicativo, como a súa descrición e capturas de pantalla, usando o estándar multiescritorio AppData. Isto pódese en tendas de aplicativos, como GNOME Software, para ofrecer unha experiencia gráfica de instalación enriquecedora.

  • Os ambientes de execución de GNOME, que fornecen a plataforma común da que dependen os aplicativos, tivo actualizacións e melloras e é moito máis doado facer contribucións. Agora inclúe un «runtime» inestábel, que pode usarse para instalar aplicativos en desenvolvemento, vexa a páxina wiki dos «runtimes»

GTK+

3.20 es unha gran versión para GTK+. A creación de temas CSS recibiu un gran redeseño, dando como resultado melloras significativas, facilitando a escritura de temas, estilos visuais máis exactos e interfaces máis dinámicas. Agora, os temas de GTK+ seguen o estándar do modelo de caixas de CSS de maneira moito máis consistente, e os marxes e a altura/anchura mínima pódense especificar nos temas. Isto non só aumenta a familiaridade para quen xa coñece CSS, senón que tamén é moito máis predecíbel e ofrece aos creadores de temas máis control sobre a distribución e o espacio.

Outras características nos temas CSS en 3.20:

  • Os temas CSS están agora completamente documentados, e a documentación dos widgets describe os nomes de elementos e estilos de clase CSS, así como a súa estrutura.

  • A introdución dos selectores CSS permite o uso máis extenso da especificidade nos temas, e engade máis flexibilidade e poder para os autores de temas.

  • Agora pódese animar a maioría dos widgets usando CSS, permitindo controis máis dinámicos e atractivos.

  • Agora admítense características adicionais de CSS, incluíndo radial-gradient(), rem e calc().

Como resultado de estes cambios, débense actualizar os temas de GTK+ existentes, e moitas propiedades de estilos marcáronse como obsoletas en favor do seu equivalente en CSS. Porén, a API 3.20 de CSS permanecerá estábel (e seguirá sendo estábel para continuar coa documentación incluída nesta versión).

Os temas CSS non son o único area de mellora en GTK+ 3.20:

  • GtkShortcutsWindow é un widget novo para mostrar unha vista xeral dos atallos do teclado e os xestos multitoque do seu aplicativo. Os grupos e as páxinas permiten organizar os atallos, e inclúe unha busca integrada.

  • gtk-query-settings é unha nova utilidade de liña de ordes para consultar preferencias de GTK+ que son visíbeis polo seu aplicativo.

  • gtk-builder-tool ten unha nova orde de previsualizción para ver ficheiros .ui.

  • 3.20 ve a primeira versión de gspell, unha biblioteca nova de revisión ortográfica para aplicativos en GTK+. É a mellor biblioteca de este tipo, e fai que sexa moi doado engadir revisión ortográfica a GtkTextView. gspell xa está listo e estase usando na versión 3.20.

  • gtk3-demo agora ten unha demostración de debuxado externo que lle mostra como aplicar estilo a widgets non GTK+ con un tema visual de GTK+.

  • O comportamento do tamaño das GtkWindow foi mellorado para que funcione coas decoracións no lado do cliente. Isto significa que gtk_window_set_default_size() agora debe combinarse con gtk_window_get_size(): vexa o titorial de gardado do estado da xanela para ter máis información das mellores prácticas para gardar o estado da xanela.

Inspector de GTK+

O inspector en vivo de GTK+ obtivo un gran número de actualizacións en 3.20:

  • A interface de usuario foi refinada: a barra lateral foi substituída por un menú despregábel para aproveitar máis o espacio da pantalla de contido, as listas e árbores foron limpados.

  • A información do dispositivo agora móstrase na lapela xeral.

  • En liña coas novas características de CSS de GTK+, agora móstrase a información dos nodos CSS e de estilo asociado.

  • Agora é posíbel realzar widgets que están causando redimensionados.

WebKitGTK+

Algúns dos cambios importantes no ciclo de 3.20 para WebKitGTK+ son:

  • Pode restaurar as sesións exactamente onde estaban, usando o novo API de serializado/restaurado.

  • As barras de desprazamento poden mostrarse como unha capa superposta semitransparente. como as estándar en GTK+.

  • Agora admítese onbeforeunload, o que lle permite aos sitios web mostrar mensaxes ao saír dunha páxina.

  • As novas APIs permiten acceder a mensaxes de consola.

  • Realizouse un importante progreso cara o illamento dos procesos web desde a rede, o cal axudará a facer WebKitGTK+ máis seguro no futuro.

PyGObject

As melloras de PyGObject na versión for 3.20 inclúen asistencia estendida de GError e melloras no rendemento de chamadas a funcións e peches. Tamén se mellorou a referencia do API dePyGObject na versión 3.20:

  • Engadíronse ligazóns ao código fonte C en git.gnome.org.

  • Realizáronse moitas melloras que omiten a documentación (incluíndo Gtk.ListStore e Gtk.TreeModelRow).

  • Mellorouse a busca e engadíronse novas preferencias de busca.

Outras melloras

Entre outras melloras para desenvolvedores en GNOME 3.20 están:

  • En GLib, engadiuse compatibilidade para DTLS (TLS de datagramas), para permitir os fluxos multimedia cifrados.

  • Tamén en GLib, os novos axudantes para as operacións enteiras con comprobación de desbordamento axudarán a que sexa máis doado escribir código seguro.

  • JSON-GLib, Gom e GtkBuilder poden usarse agora en Gjs.

  • Tracker mellorou de forma importante a compatibilidade con SPARQL 1.1 (vexa o linguaxe de consulta e as actualizacións na especificacións do linguaxe). Agora admítese a sintaxe DELETE {...}, INSERT {...} e WHERE {...}, BIND tamén se pode usar, e algunhas das funcións internas de SPARQL 1.1 foron engadidas.

  • gitg, o cliente gráfico de Git de GNOME, obtivo unha listado de repositorios redeseñado. As previsualizacións de remisións e diferencias tamén se mellorou con un novo estilo e integración cos temas do sistema (polo que terán o estilo axeitado con temas escuro do sistema).