Die erste bedeutende Version des Werkzeugs zur Erstellung grafischer BenutzeroberflĂ€chen Slint wurde veröffentlicht, die das Ergebnis dreijĂ€hriger Arbeit an diesem Projekt ist. Version 1.0 wird als bereit fĂŒr den Einsatz in Arbeitsprojekten positioniert. Das Werkzeug ist in Rust geschrieben und wird unter der GPLv3-Lizenz oder einer kommerziellen Lizenz (fĂŒr den Einsatz in proprietĂ€ren Produkten ohne Quellcodeöffnung) bereitgestellt. Es kann sowohl zur Erstellung grafischer Anwendungen fĂŒr Desktop-Systeme als auch zur Entwicklung von BenutzeroberflĂ€chen fĂŒr eingebettete GerĂ€te verwendet werden. Das Projekt wird von Olivier Goffart und Simon Hausmann, ehemaligen Entwicklern von KDE, die bei Trolltech an Qt gearbeitet haben, weiterentwickelt.
Die Hauptziele des Projekts sind eine geringe Ressourcennutzung, die Möglichkeit zur Verwendung auf Bildschirmen jeder GröĂe, die Bereitstellung eines Entwicklungsprozesses, der sowohl fĂŒr Programmierer als auch fĂŒr Designer benutzerfreundlich ist, sowie die Sicherstellung der PortabilitĂ€t zwischen verschiedenen Plattformen. Beispielsweise können auf Slint basierende Anwendungen auf einer Raspberry Pi Pico-Platine mit einem ARM Cortex-M0+-Mikrocontroller und 264 KB RAM betrieben werden. UnterstĂŒtzte Plattformen sind Linux, Windows, macOS, Blackberry QNX; zusĂ€tzlich gibt es die Möglichkeit, in WebAssembly-Pseudocode zu kompilieren, um im Browser ausgefĂŒhrt zu werden, oder eigenstĂ€ndige Anwendungen zu kompilieren, die kein Betriebssystem benötigen. Geplant ist auch die Entwicklung von mobilen Anwendungen fĂŒr die Plattformen Android und iOS.
Die BenutzeroberflĂ€che wird mit einer speziellen deklarativen Auszeichnungssprache namens â.slintâ definiert, die eine leicht lesbare und verstĂ€ndliche Syntax zur Beschreibung verschiedener grafischer Elemente bietet (einer der Autoren von Slint war einst fĂŒr die QtQml-Engine bei Qt Company verantwortlich). Die BenutzeroberflĂ€chenbeschreibungen in Slint werden in Maschinencode fĂŒr die Zielplattform kompiliert. Die Logik zur Interaktion mit der BenutzeroberflĂ€che ist nicht an Rust gebunden und kann in jeder Programmiersprache festgelegt werden â derzeit sind API und Tools fĂŒr die Arbeit mit Slint fĂŒr die Sprachen Rust, C++ und JavaScript verfĂŒgbar, mit PlĂ€nen zur UnterstĂŒtzung weiterer Sprachen wie Python und Go.

Es stehen mehrere Backends fĂŒr die Darstellung zur VerfĂŒgung, die die Verwendung von Qt, OpenGL ES 2.0, Skia und Software-Rendering ohne externe AbhĂ€ngigkeiten ermöglichen. Zur Erleichterung der Entwicklung wird ein Plugin fĂŒr Visual Studio Code angeboten. der Server LSP (Language Server Protocol) zur Integration mit verschiedenen Entwicklungsumgebungen und dem Online-Editor SlintPad. Geplant ist die Entwicklung eines visuellen Interface-Editors fĂŒr Designer, der es ermöglicht, das Interface durch das Ziehen und Ablegen von Widgets und Elementen zu gestalten.


Quelle: opennet.ru
