Perry vs the alternatives

How Perry compares to other ways of shipping TypeScript: runtimes, compilers, and cross-platform UI frameworks. Honest, sourced, with measured numbers where they exist.

TypeScript runtime

Perry vs Bun

Bun is an all-in-one JavaScript/TypeScript runtime, bundler, package manager, and test runner that can also produce single-file executables by bundling its runtime with your code. Perry takes a different path: it compiles TypeScript directly to native machine code via LLVM — no JavaScript engine in the binary, no runtime, just a small native executable. Bun and Perry overlap on the TS-to-binary output but disagree about whether a JavaScript engine should be in that binary.

TypeScript runtime

Perry vs Deno

Deno is a modern JavaScript and TypeScript runtime built on V8, with first-class TypeScript support, a permissions-based security model, and a `deno compile` command that produces a single executable by bundling V8 with your application. Perry compiles TypeScript directly to native machine code — no V8 in the output, no runtime layer, just a small native binary.

TS-to-native compiler

Perry vs Static Hermes

Static Hermes (`shermes`) is Meta's research-stage effort to ahead-of-time compile a strongly-typed subset of JavaScript/TypeScript through the Hermes engine, primarily aimed at React Native. Perry is a different bet on the same general idea — TypeScript compiled to native — but built independently in Rust on LLVM, with a working compiler, 25+ native UI widgets, and 10 compilation targets shipping today. As of April 2026, Perry's own benchmark suite reports that Static Hermes was tried as a peer and was not installable cleanly via the standard package managers it tested.

Cross-platform UI

Perry vs Electron

Electron lets you build cross-platform desktop apps using web technologies (HTML/CSS/JS) by bundling Chromium and Node.js with your app. Perry compiles TypeScript directly to native machine code and renders UI through real platform widgets — AppKit, UIKit, GTK4, Win32, JNI. Electron's pitch is web-tech reuse; Perry's pitch is small native binaries with native UI from TypeScript.

Cross-platform UI

Perry vs Tauri

Tauri is a framework for building cross-platform desktop (and increasingly mobile) apps with a Rust backend and a frontend that runs inside the operating system's built-in webview — WebView2 on Windows, WKWebView on macOS, WebKitGTK on Linux. Tauri apps are dramatically smaller than Electron because the OS webview isn't bundled. Perry takes a different path: no webview at all, no HTML rendering, just TypeScript compiled to native machine code that drives real platform widgets.

Cross-platform UI

Perry vs React Native

React Native lets you write JavaScript/TypeScript that drives native UI on iOS and Android — UI components map to platform widgets through a JS-to-native bridge (or, in the New Architecture, a JSI / Fabric layer with the same conceptual shape). Perry takes a different approach: TypeScript is compiled ahead-of-time to native machine code, and native UI is part of the compiled binary, not a runtime bridge.