Opublikowano pierwsze istotne wydanie narzędzi do tworzenia interfejsów graficznych Slint, które podsumowuje trzy lata pracy nad projektem. Wersja 1.0 jest klasyfikowana jako gotowa do rozpoczęcia użycia w projektach roboczych. Narzędzie napisane jest w języku Rust i dostępne jest na licencji GPLv3 lub licencji komercyjnej (do użycia w produktach zamkniętych bez otwierania kodu). Narzędzie może być używane zarówno do tworzenia aplikacji graficznych dla systemów stacjonarnych, jak i do opracowywania interfejsów urządzeń wbudowanych. Projekt rozwijają Olivier Goffart i Simon Hausmann, byli deweloperzy KDE, którzy pracowali nad Qt w firmie Trolltech.
Główne cele projektu to niski pobór zasobów, możliwość pracy na ekranach dowolnego rozmiaru, zapewnienie procesu rozwoju wygodnego zarówno dla programistów, jak i projektantów oraz zapewnienie przenośności między różnymi platformami. Na przykład aplikacje oparte na Slint mogą działać na płytce Raspberry Pi Pico z mikroprocesorem ARM Cortex-M0+ i 264 KB RAM. Obsługiwane platformy to Linux, Windows, macOS, Blackberry QNX, jest również możliwość kompilacji do pseudokodu WebAssembly, aby uruchomić w przeglądarce lub kompilacji samodzielnych aplikacji, które nie wymagają systemu operacyjnego. Planuje się również możliwość tworzenia aplikacji mobilnych dla platform Android i iOS.
Interfejs definiowany jest za pomocą specjalnego deklaratywnego języka znaczników „.slint”, który dostarcza łatwo czytelny i zrozumiały składnik do opisywania różnych elementów graficznych (jeden z autorów Slint niegdyś odpowiadał za silnik QtQml w Qt Company). Opisy interfejsu w języku Slint kompilowane są do kodu maszynowego dla docelowej platformy. Logika interakcji z interfejsem nie jest zależna od Rust i może być zdefiniowana w dowolnym języku programowania – obecnie API i narzędzie do pracy z Slint zostały przygotowane dla języków Rust, C++ i JavaScript, ale w planach jest wsparcie dodatkowych języków, takich jak Python i Go.

Dostępnych jest kilka backendów do renderowania, które umożliwiają korzystanie z Qt, OpenGL ES 2.0, Skia i oprogramowania do renderowania bez zewnętrznych zależności. Aby uprościć rozwój, oferowane jest rozszerzenie do Visual Studio Code. serwer LSP (Protokół Serwera Językowego) do integracji z różnymi środowiskami programistycznymi oraz edytorem online SlintPad. W planach jest opracowanie wizualnego edytora interfejsu dla projektantów, który umożliwi tworzenie interfejsu przez przeciąganie widżetów i elementów w trybie drag&drop.


Źródło: opennet.ru
