Votre première fenêtre
Créez un petit projet Cargo, ajoutez Ailloli UI et ouvrez une fenêtre native avec un message sympathique.
Résultat : une fenêtre native de 800 par 600 intitulée Hello Ailloli, avec un message rendu par Ailloli UI.
01
Donnez un foyer à l'application
Commencez avec un projet binaire Cargo tout à fait normal. Ailloli UI ne demande aucun générateur de projet séparé.
1. Créer puis ouvrir le projet
Cargo crée le manifeste et src/main.rs. La seconde commande place votre terminal dans le nouveau dossier.
cargo new hello-ailloli
cd hello-ailloli2. Ajouter Ailloli UI
Ajoutez la dépendance beta.2 sous [dependencies] pour garder l'exemple et le livre sur la même API.
[dependencies]
ailloli_ui = "0.1.0-beta.2"La publication de beta.2 est en cours. Si Cargo ne la trouve pas encore, attendez la fin de la publication au lieu de revenir silencieusement à beta.1.
02
Écrivez une fenêtre et un message
Remplacez src/main.rs par ce programme complet. Il reste volontairement petit : une application, une fenêtre, une colonne et un widget de texte.
use ailloli_ui::prelude::*;
fn main() -> ailloli_ui::Result<()> {
App::new()
.window(
Window::new("main")
.title("Hello Ailloli")
.size(800.0, 600.0)
.content(|| {
Column::new()
.padding(24.0)
.child(Text::new("Hello from Ailloli UI!").size(32.0))
}),
)
.run()
}Ce programme exact a été vérifié avec Rust 1.88 face à la source beta.2 actuelle.
03
3. Lancer l'application
cargo runLa première compilation peut être plus longue, car Cargo compile la fenêtre native et la pile GPU. Les suivantes devraient être plus rapides.
Une fenêtre native nommée Hello Ailloli, avec le message Hello from Ailloli UI! près du coin supérieur gauche de sa zone de contenu.
04
Lisez le programme de l'extérieur vers l'intérieur
Chaque constructeur ajoute une responsabilité claire. Suivez la chaîne et le code devient beaucoup moins mystérieux.
Rassembler l'API du quotidien
Le prelude réexporte les types d'application, de fenêtre, de mise en page, de widget, de style, d'état et d'action utilisés par la plupart des exemples. prelude::*
Créer puis lancer l'application
App::new commence le constructeur. run vérifie la configuration, crée l'hôte natif et entre dans sa boucle d'événements. App::new().run()
Décrire la fenêtre de départ
Window::new reçoit un identifiant logique stable. title et size configurent la fenêtre native avant son ouverture. Window::new(...)
Construire le contenu retenu
content reçoit une fermeture. Ici, elle renvoie une Column qui ajoute une marge intérieure et contient un widget Text. content(|| ...)
05
Faites un seul changement visible
Modifiez d'abord uniquement le constructeur Text. La boucle d'essai reste courte et vous voyez comment une méthode transforme un widget.
Text::new("I built this!")
.size(24.0)size change la taille logique du texte. La fenêtre et la mise en page autour ne bougent pas.
La plus petite application Ailloli UI utile fonctionne
Vous possédez maintenant la base que chaque exemple suivant enrichira. Le prochain chapitre change seulement la mise en page, pas tout le programme.
À vous de jouer
Exercice : donnez une personnalité à la fenêtre
Faites trois petites modifications et utilisez directement la fenêtre comme retour visuel.
- 1Changez le titre de la fenêtre et redimensionnez-la à 640 par 420.
- 2Remplacez le message et réglez la taille du texte sur 24.
Cherchez title, size, Text::new et size sur le widget Text. Aucun nouveau type n'est nécessaire.
cargo run ouvre la fenêtre redimensionnée avec votre propre titre et votre message, sans erreur Rust.