Slint : une boite à outils GUI écrite en Rust

Par:
fredericmazue

ven, 07/04/2023 - 13:18

Slint est une boîte à outils complète multi plates-formes pour créer des interfaces utilisateur natives pour les appareils de bureau et embarqués, implémentée en Rust. Slint permet de cibler Linux (de bureau et embarqué), macOS, Windows, WebAssembly et Blackberry QNX. 

Le développement de Slint  (initialement connu sous le nom de "SixtyFPS") a commencé en mai 2020.  Fruit de trois ans de travail de 50 contributeurs, Slint vient de sortir en version 1.0.

Slint a une approche déclarative. Ainsi Slint est livré avec un langage de balisage spécialement conçu pour les interfaces utilisateur. Ce langage fournit un moyen puissant de décrire les éléments graphiques, leur placement et le flux de données à travers les différents états.

Voici un exemple 'Hello World' :

export component HelloWorld inherits Window {
    width: 400px;
    height: 400px;

    Text {
       y: parent.width / 2;
       x: parent.x + 200px;
       text: "Hello, world";
       color: blue;
    }
}

En ce qui concerne la logique métier, Slint est conçu de telle sorte que la logique de l'application puisse être écrite dans plusieurs langages de programmation. Actuellement, Slint fournit des API pour C++, JavaScript et Rust. La prise en charge d'autres langages de programmation est en cours.

Un plugin existe pour Visual Studio Code :

Les concepteurs de Slint travaillent sur un éditeur graphique permettant aux concepteurs de faire glisser et déposer des widgets et des éléments pour créer l'interface utilisateur.

Slint, développé par la société SixtyFPS GmbH, s'appuie sur un modèle économique durable basé sur la double licence. Dans ce modèle, Slint est disponible sous la licence open source GPLv3 et une licence propriétaire.

Le code source de Slint est disponible sur GitHub.

Site : slint-ui.com