Publié · en amélioration
Framework · Depuis 2022
Tauri est un framework pour créer des applications de bureau et mobiles légères et sûres, avec un cœur en Rust, la WebView du système et une interface web.
Tauri est un framework open source qui associe une interface construite en HTML, CSS et JavaScript à un cœur écrit en Rust pour produire des applications Windows, macOS, Linux, Android et iOS. Sa première version stable est sortie en 2022, et il prend aujourd'hui en charge aussi bien le bureau que le mobile. Au lieu d'embarquer un moteur de navigateur, Tauri utilise la WebView fournie par le système d'exploitation (WebView2 sous Windows, WKWebView sous macOS, WebKitGTK sous Linux, etc.), ce qui garde des installateurs petits et une consommation de mémoire modérée.
Tauri convient bien lorsque vous voulez réutiliser vos compétences web pour une application de bureau tout en surveillant la taille et la sécurité. Tout frontend qui se compile en fichiers statiques fonctionne, qu'il s'agisse de React, Vue, Svelte ou Angular, tandis que les tâches proches du système, comme l'accès aux fichiers ou la zone de notification, sont confiées à des commandes Rust et à des plugins officiels. Le code de la WebView ne peut utiliser que les fonctions que les capabilities et les permissions accordent explicitement à sa fenêtre, si bien que les applications n'exposent naturellement que le nécessaire.
Pour commencer, installez Rust et les bibliothèques de développement WebView de votre plateforme, créez un projet avec create-tauri-app et lancez-le en mode développement. Inutile de maîtriser Rust en profondeur : modifier la commande greet du modèle est une bonne première étape. La documentation officielle présente ensuite les commandes, les événements, le modèle de sécurité et la distribution, et le guide ci-dessous suit le même ordre.
Tauri s'appuie sur la WebView du système au lieu d'embarquer un moteur de navigateur, ce qui réduit la taille des installateurs et l'usage mémoire.
La gestion des fenêtres, l'accès aux fichiers et les calculs lourds s'exécutent en Rust, pour un backend rapide et sûr en mémoire.
Capabilities, permissions et scopes définissent les commandes et chemins accessibles à chaque fenêtre ; tout le reste est refusé par défaut.
Une seule base de code permet de cibler Windows, macOS et Linux ainsi qu'Android et iOS.
Installez Rust avec rustup. Windows nécessite en plus Microsoft C++ Build Tools et WebView2, macOS les Xcode Command Line Tools, et Linux des bibliothèques de développement comme WebKitGTK. Installez aussi Node.js si vous utilisez un frontend web.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcreate-tauri-app demande le nom du projet, l'identifiant, le langage du frontend, le gestionnaire de paquets et le modèle d'interface, puis génère le projet.
npm create tauri-app@latestInstallez les dépendances et démarrez l'application en mode développement. Le premier lancement prend quelques minutes pour compiler les dépendances Rust ; ensuite, les modifications du frontend apparaissent immédiatement.
cd tauri-app && npm install && npm run tauri devsrc-tauri/src/lib.rs contient le cœur Rust de l'application. La fonction greet, marquée par #[tauri::command], est une commande que le frontend peut appeler avec invoke("greet", { name }) ; elle est enregistrée via generate_handler!. La fonction run assemble et démarre l'application ; sur le bureau, c'est main.rs qui l'appelle. Lancez npm run tauri dev et la fenêtre de l'application s'ouvre.
src-tauri/src/lib.rs
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {name}! You've been greeted from Rust!")
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
npm run tauri devSix chapitres pour aller de l'installation aux notions essentielles de Tauri.
Posez vos questions, partagez votre expérience et échangez vos avis sur Tauri.
Aucune discussion pour l'instant. Lancez la première.
0 commentaire
Se connecter · Connectez-vous pour laisser un commentaire.
Soyez le premier à commenter.