Perry vs as alternativas
Como o Perry se compara a outras formas de entregar TypeScript: runtimes, compiladores e frameworks de UI multiplataforma. Honesto, com fontes e números medidos onde existem.
Perry vs Bun
Bun é um runtime tudo-em-um de JavaScript/TypeScript, bundler, gerenciador de pacotes e test runner que também consegue produzir executáveis de arquivo único empacotando seu runtime junto com o seu código. Perry segue um caminho diferente: compila TypeScript diretamente para código de máquina nativo via LLVM — sem motor JavaScript no binário, sem runtime, apenas um pequeno executável nativo. Bun e Perry se sobrepõem na saída TS-para-binário, mas discordam sobre se um motor JavaScript deve estar nesse binário.
Perry vs Deno
Deno é um runtime moderno de JavaScript e TypeScript construído sobre V8, com suporte a TypeScript de primeira classe, modelo de segurança baseado em permissões e um comando `deno compile` que produz um único executável empacotando o V8 com sua aplicação. Perry compila TypeScript diretamente para código de máquina nativo — sem V8 na saída, sem camada de runtime, apenas um pequeno binário nativo.
Perry vs Static Hermes
Static Hermes (`shermes`) é o esforço em estágio de pesquisa da Meta para compilar ahead-of-time um subconjunto fortemente tipado de JavaScript/TypeScript através do motor Hermes, principalmente voltado ao React Native. Perry é uma aposta diferente na mesma ideia geral — TypeScript compilado para nativo — mas construído de forma independente em Rust sobre LLVM, com um compilador funcional, mais de 25 widgets de UI nativos e 10 alvos de compilação sendo entregues hoje. Em abril de 2026, a própria suíte de benchmarks do Perry relatou que o Static Hermes foi tentado como par e não foi instalável de forma limpa via os gerenciadores de pacotes padrão testados.
Perry vs Electron
Electron permite construir aplicações desktop multiplataforma usando tecnologias web (HTML/CSS/JS) empacotando Chromium e Node.js com sua aplicação. Perry compila TypeScript diretamente para código de máquina nativo e renderiza UI através de widgets reais da plataforma — AppKit, UIKit, GTK4, Win32, JNI. A proposta do Electron é o reaproveitamento de tecnologias web; a proposta do Perry é binários nativos pequenos com UI nativa a partir de TypeScript.
Perry vs Tauri
Tauri é um framework para construir aplicações desktop (e cada vez mais mobile) multiplataforma com um backend em Rust e um frontend que roda dentro do webview integrado do sistema operacional — WebView2 no Windows, WKWebView no macOS, WebKitGTK no Linux. Aplicações Tauri são drasticamente menores que Electron porque o webview do SO não é empacotado. Perry segue um caminho diferente: sem webview algum, sem renderização HTML, apenas TypeScript compilado para código de máquina nativo que dirige widgets reais da plataforma.
Perry vs React Native
React Native permite escrever JavaScript/TypeScript que dirige UI nativa em iOS e Android — componentes de UI mapeiam para widgets da plataforma através de uma ponte JS-para-nativo (ou, na New Architecture, uma camada JSI / Fabric com a mesma forma conceitual). Perry segue uma abordagem diferente: TypeScript é compilado ahead-of-time para código de máquina nativo, e UI nativa é parte do binário compilado, não uma ponte em runtime.