Co je nového pro vývojáře a správce systému

GNOME 3.20 zavádí řadu nových vlastností a vylepšení pro ty, kteří pracují s technologiemi GNOME. Pokračujte ve čtení, abyste se dozvěděli více.

Builder

Builder je nové integrované vývojářské prostředí (zkráceně IDE – Integrated Development Environment) pro GNOME. Jeho cílem je poskytnout efektivnější, výkonné a moderní postupy pro tvorbu aplikací GNOME, a již dnes v něm najdete doplňování při psaní, mocné globální vyhledávání, prohlížeč dokumentace, strom se symboly a mnoho dalšího.

Vydání Builderu 3.20 obsahuje některé významné nové funkce a k tomu množství vylepšení a zdokonalení. Významně byly rozšířené volby pro sestavování aplikací: nyní je možné Builder použít k vytvoření balíčků xdg-app a také v něm sestavovat v rámci prostředí JHBuild. Všechna tato nastavení (a mnohá další) naleznete v novém zobrazení nastavení pro sestavování (podrobnosti viz blog Christiana Hergerta).

A new multi-process plugin framework is another major new feature for 3.20. This allows plugins to add a huge range of functionality to Builder, including additional autocompletion providers, tools, services, build systems, auto indenters, project miners, search providers, symbol resolvers, version control systems, and much more. What can you extend in Builder provides a full list of what can be extended using the new plugin system. There is also a tutorial that describes how to write your own plugins (part one, part two).

Mezi další vylepšení Builderu ve verzi 3.20 patří:

  • Přepracovány předvolby aplikace, aby se vám lépe a rychleji hledalo nastavení, které potřebujete vyladit.

  • Nový zásuvný modul, který zobrazuje seznam všech TODO, FIXME a XXX v projektu a také vás na ně nasměruje.

  • Emulace editoru VIM pokračuje v Builderu v dalším vylepšování a umožňuje teď uživatelům, kteří dávají přednost modálním úpravám, aby se zde cítili jako doma.

  • Builder nyní vyhledává a zvýrazňuje běžné chyby týkající se systému gettext.

  • Nový příkaz pro příkazovou řádku ide umožňuje rychle vytvořit nový projekt, který bude používat postupy osvědčené v rámci komunity GNOME.

  • U jazyků, které podporují sémantickou analýzu, stačí při kliknutí na proměnnou, typ nebo funkci podržet Ctrl a skočíte přímo na příslušné zdrojové místo v kódu.

  • Počáteční podpora pro jazyk Vala.

  • Automatické doplňování je teď rychlejší a nabízí i přibližné shody.

  • Nyní je možné používat Builder spolu se ccache.

xdg-app

xdg-app je multiplatformní základ pro sestavování a šíření desktopových aplikací pro GNU/Linux. V GNOME je pro něj plánována prvotřídní podpora. Nejenže umožňuje vytvářet aplikace, které lze používat v různých distribucích, ale hodlá poskytovat komplexní model zabezpečení omezením množství věcí, ke kterým má aplikace na hostiteli přístup.

Vydání 3.20 je významným mezníkem pro xdg-app. S řadou klíčkových funkcí je ho teď možné poprvé nabídnout ve vyzrálém stavu. Ve verzi 3.20 obsahuje nástroje pro sestavení a běh zabalených aplikací. Nový nástroj s názvem xdg-app-builder tuto činnost velmi zjednodušuje. Alex Larsson, hlavní vývojář xdg-app, napsal pětidílného průvod o sestavení aplikací (první část, druhá část, třetí část, čtvrtá část, pátá část).

Jestli si chcete zkusit nainstalovat a spustit xdg-app, je k dispozici noční sestavení aplikací GNOME. Mimo to, že se jedná o skvělý způsob, jak si vyzkoušet xdg-app, je to vynikající i k otestování vývojové verze aplikací GNOME a jako ukázka schopnosti xdg-app nainstalovat různé verze téže aplikace naráz. Více informací najdete v návodu.

Mezi další významné změny ve verzi 3.20 patří:

  • Nyní je možné vytvořit a šířit aplikaci zabalenou v jediném souboru. To se konkrétně hodí pro šíření aplikací na fyzických médiích.

  • xdg-app má nyní úložiště se standardními oprávněními, do kterého lze zaznamenat informace o tom, co mají aplikace dovoleno dělat. Jedná se o první z kroků směrem k běhu aplikací na pískovišti.

  • Do balíčku xdg-app je možné pomocí platformově nezávislého standardu AppData vložit podrobné informace o aplikaci, jako je její popis nebo snímky obrazovky. Toho mohou využít obchody s aplikacemi, podobné GNOME Software, aby poskytly před instalací rozsáhlé informace v grafické podobě.

  • Běhové knihovny GNOME, které poskytují společnou platformu, na kterou se mohou aplikace spolehnout, byly aktualizovány a vylepšeny, a je teď snadnější je šířit. Obsahují i nestabilní běhové knihovny, které lze použít pro noční sestavení aplikací nebo pro vývoj aplikací. Více informací o všech běhových knihovnách, které jsou k dispozici, najdete na wikistránce běhových knihoven.

GTK+

3.20 je velké vydání pro GTK+. Zásadně byla přepracována tvorba motivů pomocí CSS, což vede k významnému zlepšení v podobě jednoduššího psaní motivů, přesnějšímu vizuálnímu stylování a dynamičtějšímu uživatelskému rozhraní. GTK+ nyní jednotněji dodržuje standardní model boxů CSS a v motivech lze zadat okraje a minimální šířku/výšku. Nejde jen o pohodlí pro ty, co z dřívějška znají CSS, ale dosáhne se tím předvídatelnějších výsledků a autoři motivů získají větší kontrolu nad rozvržením a rozestupy.

Další vlastnosti motivů pomocí CSS ve verzi 3.20:

  • Vytváření motivů pomocí CSS je nyní plně zdokumentováno a dokumentace k widgetům nyní popisuje názvy prvků CSS a třídy stylů, včetně jejich struktury.

  • Zavedení selektorů CSS přináší úžasné využití při určování prvků v motivech a větší pružnost a možnosti pro autory motivů.

  • Většinu widgetů je možné animovat pomocí CSS, takže ovládací prvky mohou být poutavější.

  • Podporovány jsou další funkce CSS, včetně radial-gradient(), rem a calc().

V důsledku těchto změn potřebují aktualizovat stávající motivy GTK+ a mnoho vlastností stylů bylo označeno za zavržené, protože mají rovnocenného nástupce v CSS. API CSS 3.20 zůstane do budoucna kompatibilní (a bude se nadále držet dokumentace, která je součástí této verze).

Motivy pomocí CSS nejsou jedinou oblastí, která byla v GTK+ 3.20 vylepšena:

  • GtkShortcutsWindow je nový widget zobrazující přehled klávesových zkratek a vícedotykových gest ve vaší aplikaci. Lze je uspořádat do skupin a na stránky a vestavěná je též funkce hledání.

  • gtk-query-settings je nová pomůcka příkazové řádky, které se dotazuje na nastavení GTK+ viditelná pro vaši aplikaci.

  • gtk-builder-tool je nový příkaz provádějící náhledy souborů .ui.

  • 3.20 je první vydání pro gspell, novou knihovnu pro kontrolu pravopisu pro aplikace GTK+. Jde o nejlepší knihovnu tohoto typu pro GTK+ a je opravdu velmi snadné přidat kontrolu pravopisu do GtkTextView. Použitou ji již najdete například v editoru gedit verze 3.20.

  • gtk3-demo teď obsahuje ukázku cizího kreslení, ve které uvidíte, jak stylovat widgety jiné než GTK+ pomocí vizuálních motivů GTK+.

  • Bylo vylepšeno chování GtkWindow ohledně velikosti, aby fungovalo s dekorováním na straně klienta. Znamená to, že gtk_window_set_default_size() musí být zkombinováno s gtk_window_get_size(): informace o nejlepším způsobu uložení velikosti okna viz návod, jak uložit stav okna.

Inspektor GTK+

Inspektor GTK+ pro živé prohlížení vlastností widgetů prodělal ve verzi 3.20 řadu modernizací:

  • Bylo vyladěno uživatelské rozhraní: postranní panel byl nahrazen rozbalovacím seznamem, aby zůstalo více místa pro zobrazení vlastního obsahu, a seznamy a stromy byly lépe upraveny.

  • Informace o zařízení se nyní zobrazují na kartě obecné.

  • Na řádku s novými vlastnostmi CSS pro GTK+ se nyní zobrazují uzly CSS a informace o přiřazených stylech.

  • Je možné zvýraznit widgety, které způsobují změnu velikosti.

WebKitGTK+

Ke změnám, které ve verzi WebKitGTK+ 3.20 stojí za zmínku, patří:

  • Sezení lze nyní obnovit do přesně stejného stavu, ve kterém se nacházelo, pomocí nového API pro serializaci/obnovení.

  • Posuvníky se mohou zobrazovat jako poloprůhledné překrývající, obdobně jako ty standardní v GTK+.

  • Je podporovaná událost onbeforeunload, takže stránka může zobrazit zprávu, když ji opouštíte.

  • Nová API umožňují přístup ke konzolovým zprávám.

  • Významného pokroku bylo také dosaženo v izolaci webových procesů od sítě, díky čemuž bude WebKitGTK v budoucnu bezpečnější.

PyGObject

PyGObject byl ve verzi 3.20 vylepšen o věci, jako rozšíření podpory GError a zlepšení výkonu při volání funkcí a uzavírání. Byla také vylepšena referenční příručka k API pro PyGObject:

  • Byly přidány odkazy na git.gnome.org se zdrojovými kódy v jazyce C.

  • Spousta vylepšení byla udělána při přepisování dokumentace (včetně Gtk.ListStore a Gtk.TreeModelRow).

  • Bylo zdokonaleno vyhledávání a přidáno nové nastavení pro vyhledávání.

Další vylepšení

Další vylepšení pro vývojáře v GNOME 3.20 zahrnují:

  • V Glib byla přidána podpora pro DTLS (datagramové TLS), aby bylo možné šifrovat vysílání multimédií.

  • V GLib najdete nové pomocníky pro kontrolu přetečení operací s celými čísly, kteří vám pomohou snáze psát bezpečný kód.

  • JSON-GLib, Gom a GtkBuilder lze teď používat z Gjs.

  • Tracker má značně zdokonalenou podporu pro SPARQL 1.1 (viz specifikace dotazovacího jazyka a aktualizačního jazyka). Nyní je podporovaná syntax DELETE {…}, INSERT {…} a WHERE {…}, použito může být také BIND a byla přidána řada vestavěných funkcí SPARQL 1.1.

  • gitg, což je grafický klient Git pro GNOME, prodělal změnu stylu u seznamu repozitářů. Byly také zdokonaleny náhledy zařazení a rozdílů, takže teď mají nový styl, který lépe zapadá do systémových motivů (například jsou správně ostylované při použití tmavého systémového motivu).