Perry face aux alternatives

Comment Perry se compare aux autres façons de livrer du TypeScript : runtimes, compilateurs et frameworks UI multiplateformes. Honnête, sourcé, avec des chiffres mesurés là où ils existent.

Runtime TypeScript

Perry vs Bun

Bun est un runtime JavaScript/TypeScript tout-en-un, accompagné d'un bundler, d'un gestionnaire de paquets et d'un test runner, capable également de produire des exécutables monofichiers en regroupant son runtime avec votre code. Perry emprunte une voie différente : il compile TypeScript directement en code machine natif via LLVM — pas de moteur JavaScript dans le binaire, pas de runtime, juste un petit exécutable natif. Bun et Perry se recoupent sur la sortie TS-vers-binaire mais divergent sur la question de savoir s'il faut un moteur JavaScript dans ce binaire.

Runtime TypeScript

Perry vs Deno

Deno est un runtime JavaScript et TypeScript moderne bâti sur V8, avec un support TypeScript de premier ordre, un modèle de sécurité fondé sur des permissions et une commande `deno compile` qui produit un exécutable unique en regroupant V8 avec votre application. Perry compile TypeScript directement en code machine natif — pas de V8 dans la sortie, pas de couche runtime, juste un petit binaire natif.

Compilateur TS-vers-natif

Perry vs Static Hermes

Static Hermes (`shermes`) est l'effort de recherche de Meta visant à compiler ahead-of-time un sous-ensemble fortement typé de JavaScript/TypeScript via le moteur Hermes, principalement destiné à React Native. Perry est un autre pari sur la même idée générale — TypeScript compilé en natif — mais bâti indépendamment en Rust sur LLVM, avec un compilateur fonctionnel, plus de 25 widgets UI natifs et 10 cibles de compilation livrées dès aujourd'hui. En avril 2026, la propre suite de benchmarks de Perry indique que Static Hermes a été essayé comme pair et n'a pas pu être installé proprement via les gestionnaires de paquets standards qu'elle a testés.

UI multiplateforme

Perry vs Electron

Electron permet de construire des applications desktop multiplateformes en utilisant les technologies du web (HTML/CSS/JS) en regroupant Chromium et Node.js avec votre application. Perry compile TypeScript directement en code machine natif et rend l'UI à travers de vrais widgets de plateforme — AppKit, UIKit, GTK4, Win32, JNI. La promesse d'Electron est la réutilisation des technos web ; celle de Perry est de petits binaires natifs avec une UI native depuis TypeScript.

UI multiplateforme

Perry vs Tauri

Tauri est un framework pour construire des applications desktop (et de plus en plus mobiles) multiplateformes avec un backend Rust et un frontend qui s'exécute dans la webview intégrée du système d'exploitation — WebView2 sur Windows, WKWebView sur macOS, WebKitGTK sur Linux. Les applications Tauri sont nettement plus petites qu'Electron parce que la webview de l'OS n'est pas embarquée. Perry emprunte une voie différente : aucune webview, aucun rendu HTML, juste du TypeScript compilé en code machine natif qui pilote de vrais widgets de plateforme.

UI multiplateforme

Perry vs React Native

React Native vous permet d'écrire du JavaScript/TypeScript qui pilote l'UI native sur iOS et Android — les composants UI se mappent vers les widgets de plateforme via un pont JS-vers-natif (ou, dans la New Architecture, une couche JSI / Fabric ayant la même forme conceptuelle). Perry adopte une approche différente : TypeScript est compilé ahead-of-time en code machine natif, et l'UI native fait partie du binaire compilé, pas d'un pont à l'exécution.