Byl zveřejněn první významný vydání nástroje pro vytváření grafických rozhraní Slint, který je výsledkem tříletého úsilí v projektu. Verze 1.0 je prezentována jako připravená k použití v pracovních projektech. Nástroj je napsán v jazyce Rust a je poskytován pod licencí GPLv3 nebo komerční licencí (pro použití v proprietárních produktech bez otevírání kódu). Nástroj lze použít jak pro vytváření grafických aplikací pro stolní systémy, tak pro vývoj rozhraní pro vestavěná zařízení. Projekt vyvíjejí Olivier Goffart a Simon Hausmann, bývalí vývojáři KDE, kteří pracovali na Qt ve společnosti Trolltech.
Hlavními cíli projektu jsou nízká spotřeba zdrojů, schopnost pracovat s obrazovkami jakékoli velikosti, poskytnutí vývojového procesu, který je pohodlný jak pro programátory, tak pro designéry, a zajištění přenositelnosti mezi různými platformami. Například aplikace založené na Slint mohou fungovat na desce Raspberry Pi Pico, která je vybavena mikrořadičem ARM Cortex-M0+ a 264 KB RAM. Podporovány jsou platformy Linux, Windows, macOS, Blackberry QNX, a existují možnosti sestavení do pseudokódu WebAssembly pro spuštění v prohlížeči nebo kompilaci samostatných aplikací, které nevyžadují operační systém. Plánuje se také možnost tvorby mobilních aplikací pro platformy Android a iOS.
Rozhraní je definováno pomocí speciálního deklarativního jazyka pro popisování ‘.slint’, který poskytuje snadno čitelnou a srozumitelnou syntaxi pro popis různých grafických prvků (jeden z autorů Slint byl svého času zodpovědný za engine QtQml ve společnosti Qt Company). Popisy rozhraní ve Slint jsou kompilovány do strojového kódu cílové platformy. Logika práce s rozhraním není vázána na Rust a může být definována v jakémkoli programovacím jazyce — v současnosti jsou API a nástroj pro práci se Slint připraveny pro jazyky Rust, C++ a JavaScript, ale v plánu je podpora dalších jazyků, jako jsou Python a Go.

K dispozici je několik backendů pro vykreslování, které umožňují používat Qt, OpenGL ES 2.0, Skia a softwarové renderování bez připojení externích závislostí. Pro usnadnění vývoje je nabízena doplněk pro Visual Studio Code, server LSP (Language Server Protocol) pro integraci s různými vývojovými prostředími a online editorem SlintPad. V plánech je vývoj vizuálního editoru rozhraní pro designéry, který umožní vytvářet rozhraní pomocí přetahování widgetů a prvků v režimu drag & drop.


Zdroj: opennet.ru
