Ukazało się pierwsze znaczące wydanie pakietu narzędzi do budowy interfejsów graficznych Slint, będące podsumowaniem trzech lat pracy nad projektem. Wersja 1.0 jest pozycjonowana jako gotowa do użycia w działających projektach. Zestaw narzędzi jest napisany w języku Rust i jest objęty licencją GPLv3 lub licencją komercyjną (do użytku w zastrzeżonych produktach bez oprogramowania open source). Zestaw narzędzi można wykorzystać zarówno do tworzenia aplikacji graficznych dla systemów stacjonarnych, jak i do tworzenia interfejsów dla urządzeń wbudowanych. Projekt jest rozwijany przez Oliviera Goffarta i Simona Hausmanna, byłych programistów KDE, którzy pracowali nad Qt w Trolltech.
Głównymi celami projektu jest niskie zużycie zasobów, możliwość pracy z ekranami dowolnej wielkości, zapewnienie procesu rozwoju wygodnego zarówno dla programistów, jak i projektantów oraz zapewnienie przenośności pomiędzy różnymi platformami. Przykładowo aplikacje oparte na Slint mogą działać na płycie Raspberry Pi Pico wyposażonej w mikrokontroler ARM Cortex-M0+ i 264 KB pamięci RAM. Obsługiwane platformy obejmują Linux, Windows, macOS, Blackberry QNX i możliwość złożenia w pseudokod WebAssembly w celu uruchomienia w przeglądarce lub kompilowania samodzielnych aplikacji, które nie wymagają systemu operacyjnego. W planach jest udostępnienie możliwości tworzenia aplikacji mobilnych na platformy Android i iOS.
Interfejs definiowany jest za pomocą specjalnego deklaratywnego języka znaczników „.slint”, który zapewnia czytelną i zrozumiałą składnię do opisu różnych elementów graficznych (jeden z autorów Slinta był kiedyś odpowiedzialny za silnik QtQml w firmie Qt) . Opisy interfejsów w języku Slint są kompilowane do kodu maszynowego platformy docelowej. Logika pracy z interfejsem nie jest powiązana z Rustem i można ją zdefiniować w dowolnym języku programowania - obecnie API i narzędzia do pracy z Slintem są przygotowane dla Rusta, C++ i JavaScript, ale w planach jest obsługa dodatkowych języków takich jak jak Python i Go.
Dla danych wyjściowych dostępnych jest kilka backendów, pozwalających na użycie Qt, OpenGL ES 2.0, Skia i renderowania programowego do renderowania bez łączenia zależności od stron trzecich. Aby uprościć programowanie, oferuje dodatek do Visual Studio Code, serwer LSP (Language Server Protocol) do integracji z różnymi środowiskami programistycznymi oraz edytor online SlintPad. W planach jest opracowanie edytora interfejsu wizualnego dla projektantów, który umożliwia tworzenie interfejsu poprzez przeciąganie widżetów i elementów w trybie drag&drop.
Źródło: opennet.ru