Projekt Bottles bude přepsán v jazyce Rust za použití libcosmic

Vývojáři programu Bottles, který nabízí rozhraní pro usnadnění instalace, konfigurace a spouštění aplikací Windows na Linuxu, zveřejnili informace o rozvoji iniciativy Bottles Next, zaměřené na úplné přepracování architektury a kódu projektu. Je poznamenáno, že stávající monolitická aplikace napsaná v Pythonu s GTK rozhraním neumožňuje realizaci mnoha nápadů, jako je podpora macOS, omezuje možnosti a způsobuje problémy, které nelze vyřešit bez radikálních změn architektury.

Nová architektura předpokládá rozdělení aplikace na tři samostatné komponenty: klienta s implementací grafického rozhraní, server s logikou spuštění aplikací a správu prefixů Wine, a agenta, který běží pod Wine a interaguje s API Windows. Původně se plánovalo použít pro implementaci klienta webové technologie (Electron a VueJS), a server napsat v jazyce Go, ale vytvořené prototypy a odmítnutí ze strany komunity myšlenky přechodu na engine Electron, přiměly vývojáře od tohoto záměru upustit.

Nakonec bylo rozhodnuto použít pro vývoj klienta a serveru jazyk Rust, a grafické rozhraní postavit na základě frameworku libcosmic. Libcosmic se používá v desktopovém prostředí COSMIC a představuje nadstavbu nad knihovnou iced, poskytující funkce pro vytváření grafických aplikací a appletů. Pro vývoj se používá model reaktivního programování a architektura, známá vývojářům obeznámeným se jazykem deklarativního vytváření rozhraní Elm. Pro vykreslování mohou být použity enginy na bázi Vulkan, Metal, DX12, OpenGL 2.1+ a OpenGL ES 2.0+.

Je poznamenáno, že vývojářům by bylo pohodlnější použít jazyk Go, ale museli se ho vzdát kvůli nedostatku kvalitních nástrojů pro vývoj uživatelských rozhraní. Kromě nového zjednodušeného rozhraní je plánováno jako volba ponechat tradiční klasickou variantu rozhraní. Kód agenta bude napsán v C# a .NET, což je vysvětleno nutností spuštění služby WineBridge v prostředí Windows vytvořeném Wine. Kontejner pro testování počátečního prototypu Bottles Next, napsaného v Rustu, plánují zveřejnit za několik týdnů. V současné době je k dispozici pouze nejjednodušší demo verze.

Projekt Bottles bude přepsán v jazyce Rust za použití libcosmic
Projekt Bottles bude přepsán v jazyce Rust za použití libcosmic


Zdroj: opennet.ru
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster