
à partir de n'importe quel framework frontal basé sur HTML et JavaScript
La création d'applications pour le bureau est longuement apparue comme difficile, notamment en raison du fait qu'il fallait connaître des langages comme Java ou C++ et un certain nombre de spécifications liées à la plateforme visée. Cependant, au fur et à mesure des progrès technologiques, des frameworks comme Electron sont apparus, ont simplifié le processus, et ont permis d'écrire des applications comme Slack, Figma, Twitch, etc. Désormais, Tauri, une chaîne d'outils permettant de créer des applications natives pour le bureau, s'illustre comme une alternative sérieuse à Electron.
Qu'est-ce que Tauri ?
Comme le décrit son site officiel, Tauri est une chaîne d'outils polyglotte permettant de créer des applications natives plus sûres avec des binaires à la fois minuscules et rapides. "Polyglotte" signifie que Tauri utilise plusieurs langages de programmation. Pour l'instant, Rust, JavaScript et TypeScript sont utilisés, mais les développeurs de la chaîne d'outils prévoient de vous permettre d'utiliser Go, C++, Python, et plus encore. Tauri vous permet d'utiliser n'importe quel framework frontal basé sur HTML et JavaScript, tel que Vue.js, React ou Angular, pour créer une application de bureau native.
En outre, Tauri peut être intégrée dans n'importe quel pipeline. Il vous aide en effet à créer et à regrouper des binaires pour les principales plateformes de bureau. En gros, Tauri vous permet d'utiliser les technologies du Web pour créer des applications de bureau natives minuscules et sécurisées. Sur sa page GitHub, Tauri est décrit comme une chaîne d'outils sans framework pour la création d'applications natives hautement sécurisées qui ont de minuscules binaires (c'est-à-dire la taille du fichier) et qui sont très rapides (c'est-à-dire une utilisation minimale de la RAM).
Détails techniques
- CLI : la CLI est basée sur Node.js. Selon l'équipe, elle est sans doute la plus accessible pour la majorité de la communauté des développeurs Web. L'utilisation de Tauri nécessite la dernière version du LTS, car l'équipe de développement a déclaré qu'elle suit les correctifs de sécurité. Toutefois, à l'avenir, elle vous permettra d'utiliser Deno au lieu de Node si c'est ce que vous préférez ;
- interface utilisateur : l'interface utilisateur de première génération des applications Tauri exploite Cocoa/WebKit sous macOS, GTK-WebKit2 sous Linux et WebKit via EdgeHTML/Chakra sous Windows. Tauri exploite le travail sous licence du MIT connu sous le nom de WebView qui a été incorporé dans les spécifications officielles de webview_rust.
- le dossier "src-tauri" : le dossier "src-tauri" contient la configuration de votre application Tauri ainsi que tout code Rust natif. Il est automatiquement créé et rempli de code passe-partout lors de l'initialisation de Tauri. La configuration est stockée dans le fichier src-tauri/tauri.conf.json, et le dossier src-tauri/src contient le code natif de Rust ;
- composants de Tauri : le CLI du nœud lit votre fichier de configuration et prépare tout pour le regroupement en binaire, par exemple la configuration de l'injection de l'API Tauri. Il contient également quelques commandes utiles, telles que la commande "tauri icon" pour la création d'icônes, "tauri init" pour commencer une nouvelle application et "tauri info" pour le débogage de votre environnement ;
- Tauri Rust Crate : c'est le code natif réel qui se lie au WebView, crée la fenêtre de votre application et fournit l'API native (lecture/écriture de fichiers, etc.) ;
- le bundler combine votre HTML/JS/CSS, le code natif Rust et Tauri Rust Crate en un binaire convivial et facile à utiliser pour votre OS cible.
Pourquoi avoir choisi Rust ?
Les créateurs de Tauri ont répondu qu'ils ont fait le choix de Rust pour la simple et bonne raison qu'il "est extrêmement rapide et efficace sur le plan de la mémoire". « Il est runtime et sans collecteur de déchets, il peut alimenter des services à performances critiques, fonctionner sur des appareils embarqués et s'intégrer facilement à d'autres langues. La richesse du système de types et du modèle de propriété de Rust garantit la sécurité de la mémoire et des threads, et vous permet d'éliminer de nombreuses classes de bogues au moment de la compilation », ont-ils déclaré.
« Rust dispose d'une excellente documentation, d'un compilateur convivial avec des messages d'erreur utiles, et d'un outillage de premier ordre, un gestionnaire de paquets et un outil de compilation intégrés, un support multiéditeur intelligent avec autocomplétion et inspections de type, un autoformatage, et plus encore », a ajouté l'équipe de développement de Tauri. Si vous vous demandez s'il faut connaître Rust avant de pouvoir utiliser Tauri, l'équipe a répondu que non, mais en connaître les bases serait un grand atout si vous voulez aller loin avec Tauri.
« Vous n'avez pas besoin de connaître Rust pour utiliser (la plupart de) Tauri, mais comme pour toute chose, le terrier du lapin est aussi profond que vous êtes prêt à y tomber. Si vous ne connaissez pas du tout Rust, nous vous recommandons de regarder d'abord notre étonnante liste de tutoriels », a déclaré l'équipe.
Electron Vs Tauri : les différences
Electron est un framework d'exécution qui permet à l'utilisateur de créer des applications de bureau avec HTML5, CSS et JavaScript. C'est un projet open source lancé par Cheng Zhao, un ingénieur de GitHub. Il existe depuis un certain temps déjà et a même été adopté en masse par des développeurs et de grandes entreprises comme Atom, Visual Studio Code, etc. En effet, il est actuellement le framework le plus populaire dans sa catégorie, mais de sérieux concurrents commencent à apparaître, en travaillant notamment à combler les lacunes d'Electron.
Par exemple, les applications Electron ont une taille de paquet assez importante et elles ont tendance à prendre beaucoup de mémoire lorsqu'elles sont exécutées. Le tableau suivant, tiré de sa page GitHub, compare certaines caractéristiques qui distinguent Tauri d'Electron.
Les avantages de Tauri
Voici les raisons pour lesquelles vous pourriez envisager d'utiliser Tauri dans votre prochaine application de bureau :
[LIST][*]il est compatible avec tout framework JavaScript, vous n'avez donc pas à changer de pile ;[*]sa variété de modèles de conception permet de commencer à mettre en œuvre des fonctionnalités avec des configurations faciles ;[*]bundle : comme vous l'avez vu dans le tableau ci-dessus, la taille d'une application Tauri n'est que de 0,60 Mo (600 Ko) ;[*]mémoire : l'empreinte d'une application Tauri est inférieure à la moitié de la taille d'une application Electron. Selon le tableau,...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.