Un código fuente. Todas las plataformas.
Rendimiento nativo.
Perry compila TypeScript a aplicaciones nativas GUI y CLI en macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly y la Web. Sin runtime. Sin Electron. Solo binarios nativos.
$ perry compile main.ts
Compilando main.ts...
✓ Ejecutable compilado: main (2,3 MB)
$ ./main
Hello, World!Apps reales, compiladas desde TypeScript con Perry.
¿Por qué Perry?
Todo lo que necesitas para compilar TypeScript a aplicaciones nativas
Mira lo que la gente construye
Apps nativas reales, compiladas desde TypeScript. Sin Electron, sin web views — solo UI nativa en cada plataforma.
Mango
GUI nativa para MongoDB — construida completamente en TypeScript


Hone
Editor de código nativo con IA — TypeScript a binario nativo

Nativo en todas las plataformas
Perry compila tu TypeScript a frameworks de UI nativos, WebAssembly y JavaScript — no web views, no Electron. Widgets nativos reales en cada plataforma, más la web.
Del código al App Store
Perry no solo compila tu app — la pone en las manos de tus usuarios.
Compilar y firmar
Builds multiplataforma con un solo comando. La firma de código para macOS, iOS, Android y Windows se maneja por ti. Sin luchar con perfiles de aprovisionamiento de Xcode o keystores de Android.
Distribuir
Publica en el App Store, Play Store o envía descargas directas. Perry Publish maneja el empaquetado, la notarización y el envío.
Verificar
Impulsado por Geisterhand. Pruebas UI automatizadas en las 6 plataformas. Sabe que tu app funciona en todas partes antes de que tus usuarios te digan lo contrario.
Gratis para proyectos de código abierto. Planes para equipos → /publish
El único framework que cumple todos los requisitos
TypeScript compilado a código nativo. Widgets reales de la plataforma. Sin overhead de runtime.
| Framework | Lenguaje | Código nativo | Widgets nativos | Overhead de runtime |
|---|---|---|---|---|
| Perry | TypeScript | ✓ Compilado nativo | ✓ Widgets reales de la plataforma | ✓ Cero overhead de runtime |
| React Native | JS / TS | JS bridge | Parcial | JS engine + bridge |
| Flutter | Dart | AOT | Sin UI compartida | Dart VM |
| Electron | JS / TS | Chromium runtime | HTML mimics | Chromium + Node |
Escribe TypeScript, envía nativo
Usa la sintaxis y APIs familiares de TypeScript. Perry se encarga del resto.
// hello.ts
const greeting = "Hello, World!";
console.log(greeting);
// Compiles to ~2MB native executable
// No runtime needed!Comparación de rendimiento
La compilación nativa ofrece eficiencia incomparable
Comenzar
Instala Perry y empieza a compilar TypeScript a ejecutables nativos
Homebrew (macOS)
brew install perry-ts/perryAPT (Debian/Ubuntu)
apt-get install perryWindows (winget)
scoop install perry-ts/perrySoporte de características
Cobertura completa de APIs de TypeScript y Node.js
Core Language
- Numbers64-bit floating point (f64)
- StringsUTF-8, all common methods
- Booleanstrue/false, logical operators
- ArraysTyped and mixed-type arrays
- ObjectsObject literals and field access
- BigInt256-bit integer support
- EnumsNumeric and string enums
Functions
- Function DeclarationNamed functions
- Arrow Functions() => {} syntax
- Default ParametersParameters with defaults
- Rest Parameters...args syntax
- ClosuresIncluding mutable captures
- Higher-OrderFunctions as arguments/returns
- Async/AwaitAsync function support
Classes
- Class DeclarationBasic class syntax
- ConstructorsWith parameters
- Private Fields (#)ES2022 #privateField syntax
- Static Methods/FieldsClass-level members
- Getters/Settersget/set accessors
- Inheritanceextends keyword
- Super Callssuper() constructor calls
Type System
- Type AnnotationsExplicit type declarations
- Type InferenceAutomatic type detection
- GenericsMonomorphization (like Rust)
- InterfacesInterface declarations
- Union Typesstring | number support
- Type Guardstypeof operator
- Type Aliasestype X = ... declarations
Standard Library
- fsreadFileSync, writeFileSync, existsSync, etc.
- pathjoin, dirname, basename, extname, resolve
- cryptorandomBytes, randomUUID, sha256, md5
- osplatform, arch, hostname, memory info
- Bufferfrom, alloc, toString, slice, copy
- child_processexecSync, spawnSync
- JSON/Math/DateFull implementations
Más de 30 paquetes npm nativos
Paquetes npm populares reimplementados en Rust nativo. Sin npm install, sin node_modules, solo código nativo rápido.
Base de datos
Seguridad
HTTP
Procesamiento de datos
Fecha y hora
Utilidades
Cómo funciona
De código fuente TypeScript a ejecutable nativo en segundos
¿Quieres saber cómo funciona el compilador internamente? Internos del compilador
Blog
16 blog
Auto-Update, a Live Inspector, and the Compiler That Halved Itself
El último post cerró en v0.5.306 con la historia de gen-GC + JSON + benchmarks. Cuatro días después, Perry está en v0.5.359 — son 53 patch releases — y la historia es otra vez dist…
tvOS, Cross-Compile iOS from Linux, and Perry Login
Cinco días, 120 commits, y Perry salta de v0.4.0 a v0.4.24. Lo destacado: tvOS se convierte en el 10.º objetivo de compilación, las apps de iOS y macOS ahora pueden construirse com…
True Multi-Threading, Compile-Time i18n, and watchOS
Perry v0.4.0 es la versión más grande desde el inicio del proyecto. Tres saltos de versión en un ciclo — v0.3.0 (i18n), v0.3.2 (watchOS), v0.4.0 (multi-threading) — y el compilador…
The Full Pipeline: Docs, Distribution, and WidgetKit
82 commits en siete días. Un sitio de documentación con 49 páginas. Publicación automatizada en App Store y Play Store. Paquetes Homebrew y APT. Extensiones nativas de WidgetKit co…
Plugin Systems Are a Performance Tax
Instalas VS Code. Es rápido. Añades 15 extensiones. Ahora tarda 4 segundos en iniciar y el Extension Host consume 800 MB de RAM. ¿Qué pasó?…