Magazine Gadgets

Comment Tauri transforme les conceptions Web en applications natives compactes – The New Stack

Publié le 30 juillet 2022 par Mycamer

“Open source, petit sécurisé et pourquoi brûler le monde?” — À l’écoute de l’un des principaux développeurs de Tauri décrire ses motivations sur un Journal des modifications podcast m’a fait réfléchir sur la façon dont les développeurs choisissent de créer de petites applications natives. Tauri a été conçu pour la communauté d’ingénieurs logiciels “axée sur la sécurité, respectueuse de la vie privée et soucieuse de l’environnement” (c’est-à-dire petite et consommant moins d’énergie). Comment cela correspond-il aux décisions moyennes des développeurs ?

Trouver la meilleure technologie pour écrire une application maintenable finit par être un équilibre entre où vous êtes, ce que vous savez et ce qui est disponible.

Si vous développez derrière un pare-feu d’entreprise, vous devrez peut-être vous contenter de tout ce que votre réalité restreinte vous permet. Les petites applications sont généralement des outils, et certaines d’entre elles doivent connaître votre système d’une manière que les outils Web ne sont pas fiables. Mais juste pour l’efficacité, l’utilisation de l’interface utilisateur native et du système de fenêtrage de la machine cible est logique.

Alors, où Tauri s’intègre-t-il?

Tauri est un framework pour créer des applications de bureau avec n’importe quel framework frontal et un noyau Rust. Chaque application se compose de deux parties :

  • Un binaire Rust qui crée les fenêtres et expose les fonctionnalités natives à ces fenêtres
  • Une interface Web de votre choix qui produit l’interface utilisateur à l’intérieur de la fenêtre

Un argumentaire Tauri peut sembler légèrement contradictoire au premier abord – utilisez les technologies Web pour créer des applications natives. De toute évidence, la meilleure façon d’afficher HTML, JS et CSS est dans un navigateur, mais ce n’est pas la fin de l’histoire. Ces technologies sont devenues de facto les méthodes d’affichage d’informations sur un écran, et il est désormais légitime de les utiliser pour construire des UI quelle que soit la cible. Cette idée a évolué; J’écris ceci avec le Application notionnellequi est enveloppé dans Électron, qui partage les mêmes concepts initiaux. (Cela dit, l’application Notion fait 668 Mo !)

Le noyau de Tauri est écrit en Rouiller, qui est un nouveau langage pour moi, mais je n’ai pas l’intention de trop m’impliquer là-dedans. Dans un sens simpliste, le noyau Rust contrôle le fenêtrage natif et la transmission des messages, permettant une simulation d’un navigateur pour des composants de type Web. Bien que ce type de transfert modulaire ait tendance à créer des diagrammes architecturaux complexes, il permet une approche plus ordonnée au niveau local. Les problèmes d’interface utilisateur sont bien séparés des problèmes de système d’exploitation, etc. Si je vois un chandelier dans le jardin, je sais que je joue Cluedo — parce qu’il n’a pas à être là autrement.

💡 Tauri est un framework pour créer des applications de bureau avec n’importe quel framework frontal et un noyau Rust.

Je préférerais probablement écrire moins de JavaScript, mais je suis pragmatique. La plupart des interfaces utilisateur du monde sont écrites pour le Web, après tout. Donc, pour mon essai routier, j’ai utilisé le guide de démarrage avec le Exemple rapide. Tauri se présente comme une technologie semblable à de la colle qui se concentre sur la chaîne d’outils, ce qui signifie qu’elle peut sembler un peu plus rude pour les nouveaux développeurs car vous touchez beaucoup de pièces en passant. Il est toujours plus difficile de dire ce qui vous a rendu malade lorsque vous mangez au buffet. À l’inverse, il est bien adapté pour tirer parti des connaissances d’un développeur frontend expérimenté.

Je vais suivre les étapes du guide avec mon mac. Je sais qu’une condition préalable est Rust, mais je pense aussi que la configuration de mon nœud est totalement obsolète.

Depuis mon shell, je vérifie que j’ai les bibliothèques Xcode les plus importantes :

Maintenant, j’ai déjà le gestionnaire de version de nœud (nvm) installé, mais je pensais installer un nœud plus récent mais stable :

Et j’obtiens une version compatible de npm jeté dans.

Ensuite, je vais pour Rust lui-même:

</p> <p>> curl –proto ‘=https’ –tlsv1.2 [https://sh.rustup.rs](https://sh.rustup.rs/) -sSf | sh

>boucleproto‘=https’tlsv12[https://sh.rustup.rs](https://sh.rustup.rs/) -sSf | sh

Ainsi, après avoir rechargé le shell et déjà vu le mot “cargo”, j’ai maintenant un Mac plus rouillé. Si vous avez deviné que Cargaison est de Rust système de construction et gestionnaire de paquets, tu as bien deviné.

Après un bogue étrange qui a été corrigé en jouant avec mes paramètres de registre, j’ai pu utiliser npm comme suggéré par le guide. J’ai choisi une belle version vanille parmi les questions posées qui sont utilisées pour mettre en place une configuration :

Maintenant, le répertoire de travail contient les éléments de développement de nœud normaux, y compris du HTML simple, du CSS, un soupçon de javascript pour gérer le compteur, un “package.json”, un dossier de modules de nœud et les images de logo que vous pouvez voir. Dans un sous-répertoire intitulé “src-tauri”, nous voyons plus du monde de la rouille et un fichier “tauri.conf.json”. Ce fichier conserve le nom que j’ai choisi pour la fenêtre de titre de l’application, ainsi que le nom de l’application tel qu’il apparaît sous forme de fichier.

Lançons donc le processus de développement :

Et j’ai la très belle application par défaut ci-dessous. Il a un peu de logique dans un bouton de comptage (il augmente lorsque vous appuyez dessus) et il ouvre la page Web appropriée dans un navigateur externe si vous cliquez sur l’une des deux icônes. Sinon, c’est juste une belle fenêtre native.

Comment Tauri transforme les conceptions Web en applications natives compactes – The New Stack

Nous pouvons également créer une version de version, qui construira une application entièrement installable :

Le fichier .dmg résultant qui a été créé m’a permis de l’installer via un glisser-déposer dans le dossier Applications de la manière normale sur Mac, comme le confirme ma recherche Launchpad :

Comment Tauri transforme les conceptions Web en applications natives compactes – The New Stack

C’était un fichier de 9 Mo dans mon dossier Applications. Assez petit. J’ai donc créé une application très simple, mais la chaîne d’outils était compréhensible et assez rapide sur ma vieille machine.

Avant de partir, voyons si nous pouvons utiliser Tauri pour rendre l’application un peu plus petite. Je note qu’une « liste blanche » dans « tauri.conf.json » mentionne quels modules seront construits. Maintenant, les seuls éléments spéciaux dont cette application a besoin sont la possibilité d’ouvrir une page HTML sur un navigateur externe, donc en utilisant la documentation, j’ai essayé ce hack rapide :

</p> <p>… “tauri”: { “allowlist”: { “all”: false, “fs”: { “all”: true }, “shell”: { “open”: true }, “http”: { “request “: vrai } } }, …

“tauri”:{

“liste d’autorisation”:{

“tout”:faux,

“fs”:{

“tout”:vrai

},

“coquille”:{

“ouvert”:vrai

},

“http”:{

“demande”:vrai

}

}

},

Et la construction résultante est descendue à une taille de 8 Mo, qui était toujours fonctionnelle.

De 9 Mo à 8 Mo est certainement un régime d’urgence efficace, plus important encore, soulignant à quel point il est relativement facile de contrôler la taille.

Maintenant, approfondir impliquerait un peu plus de familiarité avec Rust, mais ce langage est en vogue en ce moment, ce serait donc probablement une tâche enrichissante. Comme je l’ai mentionné, Tauri est plus une méthodologie avec quelques outils, par opposition à une approche de plate-forme complète. Cela ressemble à une option solide pour les équipes d’ingénierie qui cherchent à transformer les conceptions Web en petites applications.

— to thenewstack.io


Retour à La Une de Logo Paperblog

A propos de l’auteur


Mycamer Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazines