Co je nového pro vývojáře

Během vývojového cyklu GNOME 41 se velká vylepšení objevila také v prostředí pro vývojáře GNOME. Čtěte dále a dozvíte se více!

Vylepšená Dokumentace

Prostředí GNOME 41 je doprovázeno velkým množstvím zlepšení v dokumentaci! Patří k nim změny na webových stránkách pro vývojáře GNOME, nová obecná dokumentace pro vývojáře, vylepšená dokumentace API a nová verzi pokynů k návrhu GNOME.

Nový web s dokumentací

Od vydání GNOME 40 byly hlavní stránky pro vývojáře GNOME nahrazeny novým přehlednějším portálem, který poskytuje přístup k veškeré dokumentaci platformy GNOME.

Je to spojeno i s novými stránkami s dokumentací pro vývojáře, které obsahují obecnou vývojářskou dokumentaci, včetně:

  • Nového úvodu do platformy GNOME, který pokrývá přehled komponent a služeb, informace k různým použitelným programovacím jazykům a úvod do Builderu a Flatpaku.

  • Pokynů k obecným záležitostem, jako jsou programátorské konvence, přístupnost a lokalizace.

  • Stručných průvodců běžnými vývojářskými úkoly, jako jak používat upozornění nebo vytvořit nabídku v GTK.

Nová dokumentace k API

Mnoho knihoven GNOME nyní používá nový nástroj pro generování dokumentace k API, nazývaný gi-docgen. Vytváří mnohem přesnější a jednotnější dokumentaci a k tomu lepší webové stránky s dokumentací.

gi-docgen používají především GTK a související knihovny. Jejich dokumentaci najdete na docs.gtk.org. Je tam dokumentace API pro GTK, GDK, GSK, Pango, GdkPixbuf, GLib, GObjecta GIO.

Nové pokyny k lidskému rozhraní

Během cyklu vývoje GNOME 41 byla také rozšířena a přepracována dokumentace návrhu GNOME.

Pokyny byly aktualizovány, aby odpovídaly současným postupům návrhu. Byly také podstatně rozšířeny o dodatečné materiály na téma přístupnost, styl uživatelského rozhraní, adaptivní uživatelské rozhraní, struktura navigace a další. Prakticky veškerý starý obsah byl přepsán, aby byly pokyny co nejsrozumitelnější.

A nakonec, pokyny k lidskému rozhraní (HIG) mají nové webové stránky, které lépe vypadají a lépe se v nich prochází a hledá.

Lepší Builder

Aplikace Builder, což je integrované vývojářské prostředí pro GNOME, má v GNOME 41 celou sbírku vylepšení.

Pro GNOME 41 byla přepracována funkce „hledat v souborech“, která umožňuje hledat a nahrazovat řetězce napříč celým projektem. Nyní je umístěná v trvalé sekci ve spodním panelu, takže ji snáze najdete, a má nové uživatelské rozhraní, takže se jednodušeji procházejí výsledky hledání z celého projektu.

Funkce nasazování na připojená zařízení přímo z prostředí Builderu bylo v GNOME 41 vylepšeno. Umožňuje sestavovat a nasazovat balíky Flatpak na připojená zařízení, jako jsou třeba mobilní zařízení. Nyní funguje více automaticky. Jak ji používat se dozvíte v návodu od Jamese Westmana.

Od GNOME 41 umí Builder sestavovat a spouštět projekty používající CMake a může také sestavovat projekty používající nastavení sestavení přes prostý Make v prostředí Flatpak (díky schopnosti obsluhovat make-args a make-install-args).

A na závěr, Builder má pro GNOME 41 nové vykreslování značkovacího jazyka, které produkuje mnohem lépe naformátované náhledy.

GTK 4

Od vydání GNOME 40 došlo ke dvěma malým aktualizacím GTK 4: verze 4.2 a 4.4.

NGL, nové vykreslování založené na GL pro GTK 4, je nyní výchozím vykreslováním na systémech Linux, Windows i Mac. Za zmínku stojí vylepšená snímková frekvence, stejně jako vylepšené využití energie a CPU. Zpracování vstupů pak bylo dalším tématem v GTK, které vyústilo v změny ve zpracování mrtvých kláves a klávesy Compose.

Mezi další vylepšení ve vydáních 4.2 a 4.4 patří:

  • Inspektor GTK je nyní ve výchozím stavu povolený, aby se usnadnilo ladění.

  • Jsou zde různá vylepšení GTK 4 na Windows, jako třeba použití GL pro přehrávání multimédií a vylepšená podpora pro funkci „táhni a upusť“.

  • Data o emodži byla aktulizována na CLDR 39.

Více informací o vydáních GTK 4.2 a 4.4 obsahuje blog vývojářů GTK

libadwaita

libadwaita je vyvíjená doprovodná knihovna pro GTK 4, která se v následujících měsících dočká vydání verze 1.0. Poskytuje stylopisy GNOME GTK, dodatečné widgety a praktické funkce pro aplikace do GNOME založené na GTK 4. Jedná se o technologického nástupce knihovny libhandy (která se používá v kombinaci s GTK 3).

Při vývoji knihovny libadwaita během cyklu GNOME 41 se událo následující:

  • V souvislosti s blížícím se vydáním verze 1.0 knihovny dochází k výraznému pročištění a refaktorizaci kódu.

  • Stylopisy CSS prodělaly významné změny, včetně velké refaktorizace, obecných aktualizací stylopisu a práce na podpoře přebarvování. Poslední jmenované usnadní podporu tmavého režimu a obecně aplikacím umožní přebarvovat své uživatelské rozhraní.

  • Přibyla nová základní třída AdwApplication pro aplikace, která omezuje opakování stejného kódu a stará se o inicializaci knihovny.

  • Přepínače zobrazení mohou zahrnovat značku s počtem nepřečtených informací.

  • Generování dokumentace API přešlo na gi-docgen.

Dokumentace, jak používat jednotlivé volby nabízené knihovnou libadwaita, bude zahrnuta do Pokynu k lidskému rozhraní, což se bude časově shodovat s vydáním libadwaita 1.0.

GJS

GJS, což je projekt poskytující navázání jazyka JavaScript na platformu GNOME, se může pochlubit v GNOME 41 celou řadou vylepšení:

  • Využití paměti bylo sníženo zhruba na 40 bajtů na GObject.

  • Byly přidány globální objekty TextEncoder a TextDecoder, které nahradily starší modul imports.ByteArray.

  • Do ladicího programu GJS byla přidána volba ignoreCaughtExceptions. Její zapnutím způsobí, že se při ladění budou přeskakovat výjimky, které v kódu již někde jinde byly zachyceny.

  • Byla aktualizována dokumentace pro nové přispěvatele.

GJS 41 obsahuje také pěknou řádku oprav chyb.

gtk-rs

Podpora jazyka Rust na platformě GNOME doznala od vydání GNOME 40 významného posunu:

  • Nyní jsou poskytována navázání na GTK 4 a související knihovny.

  • It's now easy to get started with Rust and GTK 4, thanks to the new GUI development with Rust and GTK 4 book. Additionally, the GTK Rust template can also be used as the basis for new GTK 4 Rust projects.

  • Nyní jsou podporovány kompozitní šablony GTK, které umožňují efektivněji vytvářet vlastní widgety. Příklad ukazuje, jak se to dá využít v praxi.

  • Mimo těchto hlavních změn, je zde spousta dalších drobných vylepšení, včetně lepší dokumentace, dodatečných maker v GLib, jednodušších podtříd atd.

Více podrobností se dočte ve zprávě o vydání na blogu gtk-rs.

Aktualizace Flatpak SDK

Flatpak SDK pro GNOME dostalo v GNOME 41 řadu vylepšení:

  • Flatpak SDK je nyní sestaveno s podporou profileru sysprof, takže profilování aplikací pro flatpak je snadnější.

  • Z běhového prostředí byli odstraněny zenity a librest.

  • Do běhového prostředí byla přidána libmanette, aby měl WebKit funkční podporu pro herní ovladače.

  • Základní běhové prostředí bylo aktualizováno na freedesktop-sdk 21.08. Přináší novou sadu nástrojů (jako je GCC 11 a LLVM 12) a knihoven (jako je Mesa 21.2).

Aktualizace GNOME OS

GNOME OS poskytuje noční vývojová sestavení celého systému GNOME. I když je určen hlavně pro projekt QA, může sloužit také jako vzor pro distribuce a vývojáře. V cyklu GNOME 41 získal různé aktualizace:

  • Knihovny GNOME OS jsou teď sestavovány s povoleným profilerem sysprof, takže profilování aplikací v GNOME OS je snadnější.

  • Součástí je nyní systemd-homed, který se dá ručně povolit pomocí homectl.

  • Byla přidána podpora pro čipové karty a další typy bezpečnostních klíčů.

  • Do správy sítí NetworkManager byly přidány moduly pro VPN: openconnect, fortisslvpn, vpnc a openvpn.

  • Součástí jsou teď nástroje LXC.

  • K architekturám CPU byl přidán RISC-V.

  • Mutter je teď sestavován s podporou initfd, což způsobuje lepší podporu pro XWayland.

  • Byl přidán xdg-desktop-portal-gnome pro portály uživatelských prostředí specifické pro GNOME.

Závěrem, sestavení GNOME OS jsou od teď testována pomocí instance openQA hostované na openqa.gnome.org. Podrobnosti, jak mohou vývojáři tuto instanci openQA používat, najdete ve vývojářské dokumentaci.

A to není vše

Mezi další vylepšení pro vývojáře patří:

  • Tracker je nyní dostupný pro macOS přes Homebrew. Nainstalujete jej spuštěním příkazu brew install tracker.

  • Devhelp teď podporuje referenční dokumentaci k API vygenerovanou pomocí gi-docgen.

  • Vývojáři aplikací si mohou při spouštění příkazů vyžádat profil pro vysoký výkon pomocí powerprofilectl. Například:

    powerprofilectl launch --reason "Sestavování softwaru" ninja