Slint, une boîte à outils pour créer des interfaces graphiques

Slint

Slint, un ensemble d'outils complet pour créer des interfaces utilisateur natives pour les appareils de bureau et embarqués,

La première version significative de la boîte à outils d'interface graphique de Slint a été récemment publiée , couronnant trois années de travail sur le projet. La version 1.0 est conçue pour être utilisée immédiatement dans des projets professionnels.

Les principaux objectifs du projet sont une faible consommation de ressources , la capacité de travailler avec des écrans de toute taille, la mise en place d'un processus de développement pratique pour les programmeurs et les concepteurs, et la garantie de la portabilité entre différentes plateformes.

Les plateformes prises en charge incluent Linux, Windows, macOS et Blackberry QNX. Il est possible de créer des applications en utilisant du pseudocode WebAssembly pour une exécution dans un navigateur ou de compiler des applications autonomes ne nécessitant pas de système d'exploitation. Le développement d'applications mobiles pour Android et iOS est en cours. Par exemple, les applications basées sur Slint peuvent s'exécuter sur une carte Raspberry Pi Pico équipée d'un microcontrôleur ARM Cortex-M0+ et de 264 Ko de RAM.

Slint utilise la programmation déclarative pour accélérer le développement de l'interface utilisateur. Notre approche pour optimiser le développement et les performances des applications est la suivante :

L'interface utilisateur est décrite dans un langage déclaratif à l'aide d'une syntaxe qui fournit une manière complète de décrire les différents éléments graphiques tout en étant facile à lire, à écrire et à apprendre.
Le compilateur Slint optimise et traduit la description de l'UI en code natif,
La logique métier, que vous pouvez écrire dans n'importe quel langage, est connectée à l'interface utilisateur à l'aide des API spécifiques au langage fournies par Slint.

Slint intègre un langage de balisage conçu spécifiquement pour les interfaces utilisateur. Ce langage est facile à apprendre, à lire et à écrire, et offre un moyen efficace de décrire les éléments graphiques, leur emplacement et le flux de données à travers différents états. Il utilise une syntaxe familière pour décrire les hiérarchies d'éléments et les liens entre propriétés.

L'interface est définie à l'aide d'un langage de balisage déclaratif spécial, « .slint », qui fournit une syntaxe pour décrire divers éléments graphiques (l'un des auteurs de Slint était autrefois responsable du moteur QtQml chez Qt Company).

Les descriptions d'interface écrites en Slint sont compilées en code natif pour la plateforme cible. La logique d'utilisation de l'interface n'est pas liée à Rust et peut être définie dans n'importe quel langage de programmation. Actuellement, l'API et les outils Slint sont disponibles pour Rust, C++ et JavaScript, mais la prise en charge d'autres langages comme Python et Go est prévue.

Slint est livré avec un support d'outils pour la complétion de code, la navigation, la refactorisation et la coloration syntaxique. Au fur et à mesure que vous développez et affinez l'interface utilisateur, l'aperçu en direct de Slint affiche les modifications en temps réel pour fournir un retour instantané.

Plusieurs modules d'affichage sont fournis pour la sortie , permettant l'utilisation de Qt, OpenGL ES 2.0, Skia et de logiciels de rendu pour effectuer le rendu sans connexion de dépendances tierces.

Pour simplifier le développement, un module complémentaire pour Visual Studio Code, un serveur LSP (Language Server Protocol) pour l'intégration avec divers environnements de développement et un éditeur en ligne, SlintPad, sont proposés. Il est prévu de développer un éditeur d'interface visuelle pour les concepteurs, leur permettant de créer des interfaces par glisser-déposer de widgets et d'éléments.

Enfin, si vous souhaitez en savoir plus, vous trouverez les détails en suivant ce lien.

Pour les personnes intéressées par cette boîte à outils , il est important de savoir qu'elle est écrite en Rust et distribuée sous licence GPLv3, ou sous licence commerciale (pour une utilisation dans des produits propriétaires sans code source ouvert). Cette boîte à outils permet de créer des applications graphiques pour ordinateurs de bureau ainsi que des interfaces pour systèmes embarqués.

Le projet est développé par Olivier Goffart et Simon Hausmann, anciens développeurs KDE qui ont travaillé sur Qt chez Trolltech.


Ajouter comme source préférée dans Google