14 points par subinium 2026-03-17 | 2 commentaires | Partager sur WhatsApp

Je pense qu’il y a pas mal de personnes qui créent des outils CLI/TUI en Rust pour ses avantages comme les performances et le déploiement sous forme de binaire unique.

Des outils comme Textual en Python ou Ink en JS ont une syntaxe relativement pratique, mais il arrive que les dépendances d’exécution ou le surcoût de performance posent question. Côté Rust, ratatui bénéficie d’un bon écosystème, mais mettre en place le layout demande tout de même pas mal de temps.

C’est pourquoi j’ai créé deux choses.

1. tui.builders — une interface terminal dans le navigateur

C’est un éditeur qui permet de concevoir visuellement une UI terminal et d’exporter du code Rust.
https://tui.builders

On glisse-dépose les widgets et on règle leurs propriétés dans l’inspecteur,
et le code est généré en correspondance 1:1 :

  • Inspecteur : width=30, padding=2, border=rounded
  • Code : .w(30).p(2).border(Border::Rounded)

2. SuperLightTUI — une bibliothèque Rust TUI

conçue pour cette correspondance 1:1.

CSS flexbox + Tailwind
Avec une approche en classes utilitaires, si vous avez de l’expérience en développement web,
vous pouvez gérer le layout sans apprentissage supplémentaire.

slt::run(|ui| {  
    ui.bordered(Border::Rounded).p(2).gap(1).col(|ui| {  
        ui.text("hello").bold().fg(Color::Cyan);  
        if ui.button("click").clicked { count += 1; }  
    });  
});  

Une seule closure constitue l’application entière. Sans structure App, sans boucle d’événements,
sans implémentation de trait, le rendu se fait en 3 lignes.

  • 2 dépendances (crossterm + unicode-width), 0 unsafe
  • rendu en immediate-mode, ~1 ms par frame
  • 50+ widgets (graphiques, tableaux, images, widgets IA, etc.)
  • utilisable aussi comme simple bibliothèque, sans l’éditeur

J’espère que cela pourra aider celles et ceux qui veulent conserver les performances des TUI Rust tout en améliorant la vitesse de développement.

2 commentaires

 
@deleted_gndfr0dev 2026-03-21

J’utilisais Ratatui puis j’ai arrêté par flemme, mais là ils ont visé exactement ses points faibles ! C’est vraiment excellent haha

 
kayws426 2026-03-17

Waouh ! C’est vraiment bien !!