Den første betydelige udgave af Slint-værktøjet til opbygning af grafiske grænseflader er blevet offentliggjort, som opsummerer tre års arbejde på projektet. Version 1.0 positioneres som klar til brug i arbejdsprojekter. Værktøjet er skrevet i Rust og leveres under GPLv3-licensen eller en kommerciel licens (til brug i proprietære produkter uden kildekode). Værktøjet kan anvendes både til at skabe grafer til stationære systemer og til udvikling af grænseflader til indlejrede enheder. Projektet udvikles af Olivier Goffart og Simon Hausmann, tidligere udviklere af KDE, der har arbejdet med Qt i Trolltech.
Projektets hovedmål er lavt ressourceforbrug, evnen til at arbejde med skærme af enhver størrelse, at give en udviklingsproces, der er behagelig for både programmører og designere, samt at sikre bærbarhed på tværs af forskellige platforme. For eksempel kan Slint-baserede applikationer køre på Raspberry Pi Pico-platfomen, der er udstyret med en ARM Cortex-M0+-mikrokontroller og 264 KB RAM. De understøttede platforme inkluderer Linux, Windows, macOS og Blackberry QNX, og der er muligheder for at bygge til WebAssembly-pseudokode til kørsel i browseren eller kompilere selvstændige applikationer, der ikke kræver et operativsystem. Der er planer om at tilbyde funktionalitet til at skabe mobile applikationer til Android- og iOS-platforme.
Grænsefladen defineres ved hjælp af et specielt deklarativt markeringssprog «.slint», som tilbyder en letlæselig og forståelig syntaks til at beskrive forskellige grafiske elementer (en af forfatterne til Slint har tidligere været ansvarlig for QtQml-motoren i Qt Company). Interfacebeskrivelser på Slint-sproget kompilieres til maskinkode for den målplatform. Logikken for arbejdet med grænsefladen er ikke bundet til Rust og kan defineres på ethvert programmeringssprog — i øjeblikket er API og værktøjer til arbejde med Slint forberedt til Rust, C++ og JavaScript, men der er planer om at understøtte yderligere sprog som Python og Go.

Der tilbydes flere backend-løsninger, der gør det muligt at bruge Qt, OpenGL ES 2.0, Skia og software-rendering til rendering uden at skulle tilføje tredjepartsafhængigheder. For at forenkle udviklingen tilbydes et plugin til Visual Studio Code, server LSP (Language Server Protocol) til integration med forskellige udviklingsmiljøer og online-editoren SlintPad. Der er planer om at udvikle en visuel interface-editor for designere, der gør det muligt at skabe et interface ved at trække og slippe widgets og elementer i drag & drop-tilstand.


Kilde: opennet.ru
