Rustubble - De jolis composants pour vos terminaux
Rustubble est une bibliothèque Rust idéale pour la conception d’applications en ligne de commande. Ça permet de créer des applis dans le terminal, sans se taper des interfaces austères et minimalistes.
Pour cela, cette lib offre une collection de composants ultra-pratiques et personnalisables comme :
- TextInput : Des champs de texte évolués supportant Unicode, le copier-coller intuitif et une foule d’options de personnalisation.
- TextArea : Des zones de texte multi-lignes avec défilement, parfaites pour les saisies plus longues.
- Spinner : Des animations de chargement hypnotiques avec de nombreux styles prédéfinis et une API pour créer les vôtres.
- Table : Des tableaux triables et paginés pour afficher vos données de manière claire et interactive.
- ProgressBar : Des barres de progression esthétiques et informatives pour suivre l’avancement de vos tâches.
- Timer/Stopwatch : Des chronomètres et compte à rebours pour dynamiser vos applications.
- Viewport : Une vue sur vos données avec un défilement fluide.
- List/MenuList : Des listes et menus intéractifs pour une navigation intuitive.
Grâce au langage Rust réputé pour sa rapidité et sa sécurité, et à la bibliothèque Crossterm pour une compatibilité cross-plateforme, Rustubble est performant et s’intègre parfaitement avec Windows, macOS et Linux. Vous profiterez de composants graphiques à la pointe même dans les environnements les plus minimalistes.
Prenons l’exemple du composant Spinner. Avec cette lib, vous aurez l’embarras du choix entre une multitude de styles prédéfinis dans spinner_data.rs : des points virevoltant, des lignes tournoyantes… Vous pouvez même créer vos propres animations en ajustant les frames et le timing.
Chaque composant dispose d’une API intuitive avec des options de personnalisation très complètes. Vous pouvez ajuster les couleurs, les messages, les styles, les dimensions, les marges et les paddings… Vous avez un contrôle total sur le rendu final. On part d’une base solide pour bâtir des interfaces riches et uniques.
C’est entièrement open-source et disponible sur GitHub, ce qui permet d’explorer le code, de contribuer au projet et même ajouter vos propres composants !
Voici un petit tuto pour intégrer le composant Table dans votre application Rust :
- Ajoutez la dépendance Rustubble dans votre
Cargo.toml
: ``
[dependencies]
rustubble = "0.1.0"
``
2. Importez le composant Table
:
use rustubble::Table;
- Créez une instance de
Table
avec les en-têtes et les données : ``
let headers = vec!["Name", "Age", "City"];
let data = vec![<br></br> vec!["John", "30", "New York"],<br></br> vec!["Jane", "25", "Paris"],<br></br> vec!["Bob", "40", "London"],<br></br>];<br></br>let mut table = Table::new(headers, data, 0, 3, 7);
``
Vous pouvez personnaliser le padding, le nombre de lignes visibles et le décalage de défilement. 4. Positionnez et affichez la table dans votre vue : ``
let (x, y) = (5, 5);
handle_table(&mut table, x, y);
``
Et voilà, en quelques lignes, vous avez un superbe tableau interactif dans votre application en ligne de commande. Vous pourrez ainsi facilement l’adapter à vos besoins et à votre style.