Perry
Perry Perry Perry Perry

Perry compiles TypeScript to native GUI and CLI apps on macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly, and the Web. No runtime. No Electron. Just native binaries.

Perry is a powerful compiler that transforms TypeScript code directly into high-performance, native GUI and CLI applications for almost every major platform.

The main features of this tool include:

  • Native Performance Without Runtimes: Unlike Electron or React Native, Perry produces standalone binaries with no Node.js, V8, or Electron runtime required. This results in 0 ms startup times and execution speeds up to 18x faster than Node.js.

  • True Cross-Platform Support: A single codebase can be compiled into native apps for macOS, iOS, Android, Linux, Windows, watchOS, tvOS, and even WebAssembly/Web.

  • Real Native UI Widgets: It uses 35+ native UI widgets (buttons, tables, charts, etc.) that compile directly to platform-specific frameworks like AppKit, UIKit, GTK4, and Win32 rather than using web views.

  • Small Binary Footprint: Output binaries are typically only 2-5 MB, which is significantly smaller than the ~80-90 MB required for Node.js or Bun-based applications.

  • Direct npm Integration: It supports popular packages like axios, zod, express, and fastify by compiling them into native code or using an optional embedded runtime for pure-JS packages.

  • Advanced Developer Tools: It includes a built-in Git client, native multi-threading, compile-time i18n, and the Perry Publish suite for automated code signing and submission to the App Store and Play Store.

  • Modern Compiler Architecture: It leverages SWC for ultra-fast parsing and LLVM for optimized machine code generation, bypassing intermediate JavaScript entirely.