System76 (distribuční společnost Pop!_OS Linux) nedávno vydala a zpráva o vývoji nového uživatelského prostředí COSMIC napsaného v Rustu. Prostředí je vyvíjeno jako univerzální projekt, který není vázán na konkrétní distribuci a odpovídá specifikacím Freedesktop.
Projekt také vyvíjí Cosmic-comp kompozitní server založený na Waylandu a že navíc je k dispozici několik renderovacích enginů kompatibilních s Vulkan, Metal, DX12, OpenGL 2.1+ a OpenGL ES 2.0+, stejně jako okenní shell a webový integrační engine.
O projektu je zmíněno, že pro vytvoření rozhraní, COSMIC používá knihovnu Iced, která využívá modulární architekturu s typovou bezpečností a modely reaktivního programování a nabízí také architekturu známou vývojářům obeznámeným s Elm, deklarativním jazykem pro konstrukci rozhraní.
To si musíš zapamatovat System76 se rozhodl provést změnu GTK a Iced, protože během testů, které byly provedeny bylo připraveno několik COSMIC appletů, současně napsaný v GTK a Iced porovnat technologie. Provedené testy ukázali, že ve srovnání s GTK poskytuje knihovna Iced flexibilnější, výraznější a srozumitelnější API, se přirozeně spáruje s kódem Rust a nabízí známou architekturu pro vývojáře obeznámené s deklarativním jazykem konstrukce rozhraní Elm.
Knihovna Iced je napsán výhradně v jazyce Rust., používá bezpečné typy, modulární architekturu a model reaktivního programování.
Aplikace založené na Iced lze vytvořit pro Windows, MacOS, Linux a spustit ve webovém prohlížeči. Vývojářům je nabízena sada widgetů připravených k použití, možnost vytvářet asynchronní řadiče a využívat adaptivní rozložení prvků rozhraní v závislosti na velikosti okna a obrazovky.
Z nejnovější úspěchy ve vývoji COSMIC:
- Implementovaná podpora pro segmentované karty a tlačítka na základě widgetu SegmentedButton, což vám umožní provést akci okamžitě po výběru.
- El konfigurátor poskytuje vyhledávací rozhraní s nepřetržitým seznamem rolujících výsledků.
- Implementována možnost výběru profilů správy napájení a zobrazení nabití baterie bezdrátových zařízení.
- Přidáno a rozhraní pro konfiguraci nastavení zobrazenía který podporuje přepínání grafických režimů, změnu jasu podle plánu (noční režim) a ovládání rozvržení pracovní plochy, když je připojeno více monitorů.
- Přidáno rozhraní pro konfiguraci jazyků, formátů a měrných jednotek.
- Přidáno a rozhraní pro nastavení zvuku který umožňuje měnit hlasitost upozornění ve vztahu k aplikacím a testovat vybrané parametry včetně konfigurací se subwooferem. Pro testování reproduktorů mohou uživatelé s více než dvěma reproduktory ve svém systému otestovat všechny reproduktory a jejich subwoofer najednou jediným kliknutím.
- K dispozici je možnost vybrat si společné pozadí, různé tapety pro každý monitor nebo sadu tapet pro cyklickou změnu (prodleva se nastavuje v nastavení).
- Do sady nástrojů Iced byl přidán mechanismus dynamického vykreslování iced -dyrend, což znamená možnost vybrat různé backendy v závislosti na prostředí (můžete například použít OpenGL, Vulkan nebo softwarové vykreslování založené na knihovně Softbuffer).
- Byla aktualizována implementace softwarového renderovacího jádra Softbuffer, kterou lze nyní použít k vykreslování widgetů poskytovaných knihovnou libcosmic.
- Uživatelské prostředí je navrženo tak, aby fungovalo pod kontrolou zobrazovacích serverů založených na protokolu Wayland. Pro podporu vydání X11 aplikací je podpora serveru XWayland DDX integrována do kompozitního serveru cosmic-comp.
- Byla připravena knihovna Cosmic Time, která umožňuje používat animované efekty v aplikacích založených na Icedu.
Konečně, pokud máte zájem dozvědět se o tom více, můžete konzultovat podrobnosti Na následujícím odkazu.