Die erste bedeutende Version des Werkzeugs zur Erstellung grafischer BenutzeroberflĂ€chen Slint wurde veröffentlicht, die drei Jahre Projektarbeit zusammenfasst. Die Version 1.0 wird als bereit fĂŒr den Einsatz in Arbeitsprojekten positioniert. Das Werkzeug ist in der Programmiersprache Rust geschrieben und wird unter der GPLv3-Lizenz oder einer kommerziellen Lizenz (fĂŒr die Verwendung in proprietĂ€ren Produkten ohne Quellcode-Offenlegung) bereitgestellt. Es kann sowohl fĂŒr die Erstellung grafischer Anwendungen fĂŒr stationĂ€re Systeme als auch fĂŒr die 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 an Qt bei Trolltech gearbeitet haben, vorangetrieben.
Die Hauptziele des Projekts sind ein geringer Ressourcenverbrauch, die Möglichkeit der Arbeit mit Bildschirmen jeder GröĂe, ein Entwicklungsprozess, der sowohl fĂŒr Programmierer als auch fĂŒr Designer angenehm ist, sowie die GewĂ€hrleistung der PortabilitĂ€t zwischen verschiedenen Plattformen. Beispielsweise können Anwendungen auf Basis von Slint auf einer Raspberry Pi Pico-Platine mit ARM Cortex-M0+-Mikrocontroller und 264 KB RAM ausgefĂŒhrt werden. UnterstĂŒtzte Plattformen sind Linux, Windows, macOS, Blackberry QNX, und es gibt die Möglichkeit, in Pseudocode WebAssembly zu kompilieren, um im Browser ausgefĂŒhrt zu werden, oder selbststĂ€ndige Anwendungen zu kompilieren, die kein Betriebssystem benötigen. Geplant ist die Bereitstellung von Möglichkeiten zur Erstellung mobiler Anwendungen fĂŒr die Plattformen Android und iOS.
Die BenutzeroberflĂ€che wird mit einer speziellen deklarativen Markup-Sprache '.slint' definiert, die eine leicht lesbare und verstĂ€ndliche Syntax fĂŒr die Beschreibung verschiedener grafischer Elemente bereitstellt (einer der Autoren von Slint war frĂŒher fĂŒr die QtQml-Engine bei der Qt Company verantwortlich). Die Beschreibungen der BenutzeroberflĂ€che in Slint werden in Maschinencode der Zielplattform kompiliert. Die Logik der BenutzeroberflĂ€che ist nicht an Rust gebunden und kann in jeder Programmiersprache definiert werden â derzeit sind APIs und Werkzeuge fĂŒr die Arbeit mit Slint fĂŒr die Programmiersprachen Rust, C++ und JavaScript verfĂŒgbar, aber es sind UnterstĂŒtzungen fĂŒr zusĂ€tzliche Sprachen wie Python und Go in Planung.

Es stehen mehrere Backends zur VerfĂŒgung, die es ermöglichen, Qt, OpenGL ES 2.0, Skia und Software-Rendering ohne die Anbindung externer AbhĂ€ngigkeiten zu verwenden. Zur Vereinfachung der Entwicklung wird ein Plugin fĂŒr Visual Studio Code angeboten, 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, die BenutzeroberflĂ€che durch Ziehen und Ablegen von Widgets und Elementen im Drag-and-Drop-Modus zu gestalten.


Quelle: opennet.ru
