Pake : cet outil CLI permet de créer des applications de bureau de 5 Mo

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Voici Paik, un outil en ligne de commande qui transforme n'importe quel site web en application de bureau native en une seule
00:00:05commande. Il est construit avec Rust, donc les applications qu'il produit peuvent faire environ 5 Mo, ce qui est minuscule par rapport
00:00:10à Electron, qui intègre une copie entière de Chrome dans chaque application. Vous pouvez même injecter du CSS et du JavaScript personnalisés,
00:00:15avoir une icône dans la barre des tâches, et changer le style de la barre de titre, tout cela sans écrire une seule
00:00:20ligne de Rust. Mais pourquoi utiliserais-je cela plutôt que d'autres outils similaires, et pourquoi Paik
00:00:25exige-t-il que j'aie PNPM ou NPM installé s'il est basé sur Rust ? Je ne veux pas vraiment savoir,
00:00:31mais abonnez-vous et découvrons-le. Paik a été créé en 2022 par TW93, un ingénieur produit
00:00:40originaire de Chine, qui a également créé Mole, l'outil d'optimisation Mac extrêmement populaire que j'utilise
00:00:45depuis un certain temps. Mais l'idée derrière Paik est très logique, car si vous y réfléchissez,
00:00:49des applications comme YouTube Music, Gmail et Instagram n'ont pas leurs propres applications natives officielles. Elles vivent seulement
00:00:55dans des onglets de navigateur, ce qui est très bien si vous voulez toutes les fonctionnalités du navigateur, mais si vous voulez un site
00:00:59web plus performant avec sa propre icône dans le dock pour des raisons de séparation, alors avoir une application autonome
00:01:04pour cela peut être très utile. C'est là que Paik entre en jeu, ce qui est bien meilleur qu'Electron,
00:01:09car il est construit au-dessus de Tauri 2, qui utilise la vue web native du système, rendant les applications
00:01:14plus petites, plus rapides, et elles utilisent moins de mémoire, de manière similaire à Electro, Bun, ou ZeroNative de Vercel,
00:01:19dont je parlerai un peu plus tard dans cette vidéo. Mais le code personnalisé écrit par TW93 par-dessus
00:01:24Tauri 2 représente environ 1800 lignes de Rust et gère des choses comme la gestion des fenêtres, les menus natifs,
00:01:30et l'injection de JavaScript. Il suffit d'exécuter une commande et Paik s'occupe de tout. En fait,
00:01:35essayons d'utiliser Paik pour transformer mon projet d'émulation de film en une application autonome. Après avoir installé
00:01:40la CLI de Paik, vous remarquerez qu'elle ressemble beaucoup à Mole si vous l'avez déjà utilisée, et il n'y a pas
00:01:45beaucoup d'options, ce qui est une bonne chose à mon avis. Donc, avec mon serveur de projet en cours d'exécution, je peux lancer Paik avec
00:01:50l'URL et le nom que je veux donner à l'application. Si j'appuie sur entrée, il récupère l'icône et passe par le
00:01:55processus de création de l'application, ce qui peut prendre environ cinq à dix minutes. Et une fois terminé, il crée
00:02:00ce fichier DMG, que nous pouvons trouver ici à 4,3 mégaoctets. Et si vous cliquez dessus, voici notre application,
00:02:05que nous pouvons installer en la faisant glisser dans les applications. Il semble qu'il n'ait pas récupéré l'icône, mais c'est
00:02:10très bien. Et maintenant, si nous ouvrons notre application, nous pouvons voir qu'elle fonctionne immédiatement avec l'icône dans le dock.
00:02:14Je peux sélectionner une vidéo et tout semble fonctionner correctement. Et si nous regardons le moniteur d'activité,
00:02:19nous pouvons voir que notre application n'utilise que 61 mégaoctets de mémoire par rapport au navigateur ARC, qui en utilise beaucoup.
00:02:24Et si nous jetons un œil à la taille de l'application, elle fait 55 mégaoctets contre une application Electron comme Slack,
00:02:30qui fait 310 mégaoctets. Mais comme vous l'avez vu plus tôt, Paik offre des options assez intéressantes. Par
00:02:35exemple, je peux construire la même application avec le drapeau de débogage pour accéder aux outils de développement. Et je peux modifier
00:02:40la barre d'état pour la rendre plus apparente en utilisant l'option de masquer la barre de titre, ce qui lui donne une
00:02:46barre de titre sans cadre. Mais cette application n'était clairement pas conçue pour être sans cadre. Heureusement, Paik nous donne
00:02:51une option pour corriger cela sans modifier le code source de l'application. Je pourrais écrire du CSS personnalisé et l'injecter
00:02:56dans mon application en utilisant le drapeau d'injection, ce qui a ajouté le rembourrage en haut, mais signifie aussi qu'il y a
00:03:01plus d'espace en bas pour faire défiler. Nous pouvons utiliser l'option d'afficher l'icône système, révélant une icône dans la
00:03:06barre des tâches système, nous permettant d'afficher et de masquer notre application. Et nous pouvons même injecter du JavaScript ainsi que du CSS.
00:03:12Mais pour l'instant, il semble que vous ne puissiez pas modifier les éléments de menu qui vous sont donnés par défaut par
00:03:17Paik. Et Paik ne fonctionne qu'avec des URL actives. Donc, si je ferme mon serveur et que j'essaie d'ouvrir l'application,
00:03:23elle m'affiche juste un écran vide. Mais pour être juste, Paik n'était pas conçu pour les applications locales. J'ai en fait testé
00:03:28une application YouTube Music, qui fonctionne étonnamment bien à partir d'une seule commande. Et elle fonctionne même hors ligne
00:03:33parce que c'est comme ça que fonctionne le site YouTube Music. Donc, je l'utilise comme mon lecteur de musique principal,
00:03:38mais ce n'est fondamentalement pas l'outil pour les applications de bureau que vous avez vous-même, car Paik s'enveloppe autour d'une URL
00:03:42active et ne regroupe pas votre code à moins d'utiliser l'option de fichier local, ce que je n'ai découvert qu'après
00:03:48la création de cette vidéo. Je ne dirais pas non plus qu'il est très bien construit. Laissez-moi expliquer. Donc, j'ai installé Paik
00:03:53en utilisant BUN au lieu de PNPM ou NPM, mais il en a besoin en interne pour configurer la construction Tauri.
00:04:00Et mon PNPM était plus récent que la version requise par Paik, ce qui signifie qu'il a refusé de construire et
00:04:05d'installer l'application que je voulais. J'ai donc dû utiliser Claude Code pour éditer le code source de Paik juste pour le faire fonctionner.
00:04:11J'ai fini par trouver un problème à ce sujet, mais tout cela aurait pu être résolu si Paik était livré avec un
00:04:15binaire compilé, ce qui est un avantage d'utiliser quelque chose comme ElectroBUN ou ZeroNative,
00:04:20parce qu'ElectroBUN vous donne un véritable environnement d'exécution BUN derrière une vue web, ce qui signifie que vous pouvez exécuter de la logique
00:04:25backend et ZeroNative va encore plus loin, en vous donnant un shell Zig complet qui peut appeler directement des bibliothèques C.
00:04:31Donc Paik est le moyen le plus rapide d'envelopper un site web en direct, mais si vous avez besoin de quoi que ce soit au-delà de cela,
00:04:36il vaut mieux se tourner vers autre chose.

Key Takeaway

Paik permet de convertir rapidement des sites web en applications de bureau natives légères d'environ 5 Mo en s'appuyant sur Tauri 2 pour remplacer les architectures lourdes type Electron.

Highlights

  • Paik transforme n'importe quel site web en application de bureau native via une seule commande CLI.

  • Les applications générées pèsent environ 5 Mo, contre 310 Mo pour une application basée sur Electron comme Slack.

  • La consommation mémoire s'établit à 61 Mo pour une application créée par Paik, surpassant les performances des navigateurs classiques.

  • Paik est bâti sur Tauri 2, exploitant la vue web native du système pour minimiser la taille et optimiser la rapidité.

  • L'outil permet d'injecter du CSS et du JavaScript personnalisés, ainsi que de configurer des options comme le mode sans bordure ou l'icône dans la barre des tâches.

  • Le développement de l'application peut nécessiter des dépendances spécifiques comme PNPM ou NPM, ce qui peut occasionner des conflits de versions.

Timeline

Fonctionnement et avantages de Paik

  • Paik utilise Tauri 2 pour créer des applications natives à partir d'URL.
  • Le poids des applications produites se limite à 5 Mo.
  • La gestion des fenêtres et l'injection de code sont automatisées sans nécessiter de compétences en Rust.

L'outil agit comme une interface de ligne de commande (CLI) construite en Rust. Contrairement à Electron qui embarque une copie complète de Chrome, il exploite la vue web native du système d'exploitation. Cette approche réduit drastiquement la consommation de mémoire et la taille finale du paquet d'installation.

Processus de création et résultats

  • La conversion d'un projet en application autonome prend entre cinq et dix minutes.
  • L'application finale offre une intégration directe dans le dock du système.
  • La consommation mémoire relevée est de 61 Mo pour le projet testé.

Le processus consiste à exécuter une commande simple incluant l'URL et le nom souhaité. Un fichier DMG est généré à l'issue de la compilation. La comparaison avec des outils comme le navigateur ARC montre une occupation des ressources système nettement inférieure.

Options de personnalisation et limites

  • Il est possible d'injecter du CSS et du JavaScript personnalisés pour ajuster l'interface.
  • Paik nécessite une URL active et ne convient pas nativement aux applications locales sans configuration spécifique.
  • Des conflits peuvent survenir avec les versions des gestionnaires de paquets comme PNPM.

Les options incluent le masquage de la barre de titre et l'ajout d'icônes système. Cependant, l'outil présente des dépendances rigides et n'est pas conçu pour des applications complexes nécessitant une logique backend avancée ou une gestion de fichiers locaux facilitée, contrairement à des solutions comme ElectroBUN ou ZeroNative.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video