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.

Runtime TypeScript

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.

Runtime TypeScript

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.

Compilador TS-para-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.

UI multiplataforma

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.

UI multiplataforma

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.

UI multiplataforma

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.