IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Tauri : une alternative à Electron écrite en Rust permettant de construire des applications pour le bureau
à partir de n'importe quel framework frontal basé sur HTML et JavaScript

Le , par Bill Fassinou

520PARTAGES

15  0 
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...
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.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Jiyuu
Rédacteur/Modérateur https://www.developpez.com
Le 23/02/2021 à 22:38


Pour mon app basée sur Vue, j’ai commencé par utiliser Électron, mais j’ai vite été confronté à un gros problème : mon app, plutôt simple, pesait plus de 100mo.
Alors certes j’avais à dispo plein de fonctionnalités, comme par exemple zoomer facilement et garder en mémoire cette valeur, mais ça me paraissait réellement étrange d’avoir une taille d’app si importante.

J’ai donc testé Tauri. A première vue un peu moins facile à utiliser qu’Electron, par exemple certaines fonctionnalités de Node.js ne sont pas accessibles (oubliez fs.ReadFile par exemple) ou sinon des facilités pas dispo (le coup du zoom ci-dessus !!!)... mais une fois que l’on a compris la philosophie c’est assez surprenant : mon app passe à moins de 4mo !!! Et au final tout est faisable : il faut juste passer par l’API Tauri.

Donc niveau fonctionnalités RAS.

Le projet est jeune et en perpétuelle évolution. L’équipe est assez réactive et si un bogue est relevé sur GitHub, il peut être corrigé rapidement.
Ne pas hésiter non plus à questionner sur Discord.

Perso, je ne reviendrai pas en arrière. J’ai même prévu de faire quelques billets dessus sur mon blog car je trouve le projet très intéressant.

Voilà pour ce soir 😁
8  0 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 23/02/2021 à 13:05
Selon ce que j'ai l’impression l'avantage n'est pas pour le rendu, mais pour tout le background qui peut-être fais en Rust, C/C++ ou Go. C'est ce qui permet a l'application d'être beaucoup plus légère en empreinte mémoire. Autrement dis, on peut mettre un processus d'IA ou autre "intelligence" sans faire ramer.
1  0 
Avatar de frfancha
Membre éprouvé https://www.developpez.com
Le 23/02/2021 à 14:53
Citation Envoyé par bilgetz Voir le message
Selon moi aucun reel avantage. Et je comprend toujours pas pourquoi le pwa ne se répand pas mieux que ca.
Ton code électron a accès à toutes les API natives sur Windows (via node.js).
=> Lire & écrire n'importe quel fichier
=> Lancer et interagir avec des process
C'est "LA" raison pour laquelle nous utilisons Electron.

Maintenant je peux me tromper et ce serait possible aussi à partir de pwa? Dans ce cas je serais heureux d'apprendre comment.

En tout cas la taille du packaging Electron (et la faibesse de la documentaiton sur le packaging) est effectivement un de ses désavantages, si Tauri peut améliorer cela c'est bon à prendre.
1  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 24/03/2022 à 8:28
C'est bien ou pas ?
C'est jeune mais semble-il utilisable sérieusement.

Est-ce mieux qu'Electron ?
Tout dépend ce que l'on entend par "mieux". C'est plus léger mais pas aussi mature.

pourquoi on utiliser pas celui installé sur la machine, maintenant que Edge est basé sur chromium ?
C'est le cas : il utilise Webview2 sous Windows qui utilise le même moteur que Edge dernière génération. Sous macOS, et Linux il utilise la bibliothèque Webkit.
1  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 25/03/2022 à 8:59
Citation Envoyé par Beginner. Voir le message
Merci.

Du coup il n'embarque pas chromium comme Electron, c'est peut-être pour cela (ou du moins ce serait une des raisons) qu'il est plus léger ?
Probablement, mais Webwiew2 et WebKit ont certainement un poids conséquent aussi. C'est juste qu'ils sont déjà installés sur certains OS
1  0 
Avatar de gstratege
Membre actif https://www.developpez.com
Le 22/02/2021 à 22:27
Pas clair, en gros il va finalement utiliser un navigateur pour le rendu, donc ça revient à la même chose quasiment non ?
0  0 
Avatar de bilgetz
Membre averti https://www.developpez.com
Le 23/02/2021 à 6:57
Citation Envoyé par gstratege Voir le message
Pas clair, en gros il va finalement utiliser un navigateur pour le rendu, donc ça revient à la même chose quasiment non ?
C'est ce que fait Electron aussi, sauf qu'il est plus leger
0  0 
Avatar de dev00_
Futur Membre du Club https://www.developpez.com
Le 23/02/2021 à 7:27
C'est toujours bien qu'il y ait des alternatives aux cadors.

D'après le commentaire ci-dessus, les deux utilisent un webview.
Du coup quel est le réel avantage par rapport à une pwa ? Sachant que cette dernière peut aussi être installable sur bureau n'est-ce pas ?
0  0 
Avatar de bilgetz
Membre averti https://www.developpez.com
Le 23/02/2021 à 7:43
Citation Envoyé par dev00_ Voir le message
Du coup quel est le réel avantage par rapport à une pwa ? Sachant que cette dernière peut aussi être installable sur bureau n'est-ce pas ?
Selon moi aucun reel avantage. Et je comprend toujours pas pourquoi le pwa ne se répand pas mieux que ca.
0  0 
Avatar de Beginner.
Membre expert https://www.developpez.com
Le 23/03/2022 à 17:22
Salut,

Je viens de tomber sur ce billet...

Alors depuis le temps est-ce qu'on en sait un peu plus ? C'est bien ou pas ?

Est-ce mieux qu'Electron ?

Pour le rendu on utilise toujours un navigateur cela parait logique mais je me demandais pourquoi on utiliser pas celui installé sur la machine, maintenant que Edge est basé sur chromium ?

A priori j'aime bien la documentation d'Electron qui me semble bien détaillée et on la trouve même en français... E
Electron a de l'avance et du coup on trouve beaucoup de ressources...
0  0