Pake : cet outil CLI permet de créer des applications de bureau de 5 Mo
BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술
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.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video