Perry compile du TypeScript en exécutables natifs sans runtime
Pourquoi ça compte pour toi
Si tu construis des outils en ligne de commande, des applis de bureau ou mobiles, Perry te laisse écrire en TypeScript tout en livrant du vrai code machine — pas d'Electron, pas de Node embarqué. Ça simplifie radicalement la distribution pour les startups qui veulent livrer sans friction (App Store, Play Store, ou téléchargement direct).
Ce qu'il faut retenir
- 1.Compile TypeScript → binaires natifs macOS, Windows, Linux, iOS, Android, watchOS, tvOS, WASM en une commande
- 2.Démarrage en ~1 ms contre 30 ms sous Node, binaires 10-15x plus légers, 18x plus rapides sur calculs intensifs
- 3.Zéro runtime : pas de V8, pas de dépendances système, juste un exécutable qui fonctionne partout
Tu galères avec le jargon ?
Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.
Pourquoi c'est important
Depuis des années, le rêve du dev TypeScript, c'était : écrire une fois, déployer partout. React Native a promis. Flutter a promis. Tout le monde a échoué sur un truc : soit tu gardes un runtime lourd, soit tu perds l'accès au code natif.
Perry joue un jeu différent. Tu écris en TypeScript (la syntaxe, les APIs Node.js familières), et le compilateur transforme ça en code machine à la compilation, pas à l'exécution. Pas de JIT, pas d'interpréteur caché.
Concrètement, ça donne quoi ?
Un binaire hello world de 2,3 MB. Démarrage en 1 ms. Zéro dépendance système. Tu fais perry compile main.ts, tu lances le fichier généré, c'est fini.
Compare avec Node : 80 MB, 30 ms de démarrage, V8 embarqué. Avec Bun : pareil en plus léger. Perry : c'est un ordre de magnitude au-dessus.
Les vrais points forts
Compilation SWC + LLVM : Le parseur est ultra-rapide (c'est du Rust), la génération de code passe par LLVM (l'infrastructure de production derrière Clang, LLVM, Rust). Résultat : du code optimisé comme si tu avais écrit du C++.
Composants natifs : 25+ éléments d'interface (boutons, champs texte, tables, canvas) qui compilent vers AppKit (macOS), UIKit (iOS), GTK4 (Linux), Win32 (Windows). Pas du web emballé dans une coquille native, du vrai UI natif.
Multithreading sûr à la compilation : Tu utilises parallelMap, le compilateur produit de vrais fils d'exécution système (pas de SharedArrayBuffer bancal). C'est du vrai parallélisme, avec une sécurité garantie au moment du build.
i18n intégré : Les chaînes de caractères sont extraites à la compilation, traduites, intégrées dans le binaire. Zéro résolution à l'exécution.
Les limites réelles
C'est jeune (v0.5.306). La bibliothèque standard couvre fs, path, crypto, child_process, Buffer — les bases. Mais si tu as besoin d'un paquet npm trouvé au hasard sur la toile, tu as deux choix :
- ▸Perry l'a réimplémenté nativement (il liste 30+ paquets populaires : sqlite, mysql, pg, bcrypt, axios, cheerio…)
- ▸Tu actives l'option
--enable-js-runtime, ça embarque V8, et là c'est 15-20 MB au lieu de 2-5 MB.
Donc ce n'est pas « 100% natif ou rien ». C'est un spectre pragmatique.
Qui devrait s'y intéresser ?
Devs TypeScript qui construisent des outils en ligne de commande, des outils de build, des applis de bureau ou mobiles et qui veulent éviter Electron / React Native.
Startups qui distribuent via l'App Store / le Play Store et qui veulent des binaires légers et rapides.
Équipes qui veulent vraiment zéro runtime JavaScript (il y a un marché pour ça en infra, DevOps, fintech).
C'est pas pour tout le monde (le web reste web), mais pour les 15-20% des cas où un runtime TypeScript est surdimensionné, c'est un outil sérieux.
Et concrètement pour toi ?
Choisis ton profil — la lecture de l'article change selon qui tu es.
Pour toi, Perry illustre une tendance plus large : les langages historiquement 'lents' (Python, JavaScript) gagnent des compilateurs qui produisent du code machine optimisé. C'est pas magique — c'est la compilation — mais ça change la philosophie : écrire rapide, livrer rapide et petit.
Essayer maintenant
Installer Perry et compiler ton premier binaire →Source
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :
Explorer les thèmes de cet article :