Um único código. Todas as plataformas.
Desempenho nativo.
Perry compila TypeScript para aplicações GUI e CLI nativas em macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly e Web. Sem runtime. Sem Electron. Apenas binários nativos.
$ perry compile main.ts
Compilando main.ts...
✓ Executável compilado: main (2,3 MB)
$ ./main
Hello, World!Apps reais, compiladas a partir de TypeScript com Perry.
Por que Perry?
Tudo o que você precisa para compilar TypeScript em aplicações nativas
Veja o que as pessoas constroem
Apps nativas reais, compiladas a partir de TypeScript. Sem Electron, sem web views — apenas UI nativa em cada plataforma.
Mango
GUI MongoDB nativa — construída inteiramente em TypeScript


Hone
Editor de código nativo com IA — TypeScript para binário nativo

Nativo em todas as plataformas
Perry compila seu TypeScript para frameworks UI nativos, WebAssembly e JavaScript — sem web views, sem Electron. Widgets nativos reais em cada plataforma, mais a web.
Do código à App Store
Perry não apenas compila sua app — coloca-a nas mãos dos seus usuários.
Compilar e assinar
Builds multiplataforma com um único comando. Assinatura de código para macOS, iOS, Android e Windows feita por você. Sem lutar com perfis de provisionamento do Xcode ou keystores do Android.
Distribuir
Publique na App Store, Play Store ou envie downloads diretos. Perry Publish cuida do empacotamento, notarização e envio.
Verificar
Powered by Geisterhand. Testes de UI automatizados em todas as 6 plataformas. Saiba que sua app funciona em todos os lugares antes que seus usuários digam o contrário.
Grátis para projetos de código aberto. Planos para equipes → /publish
O único framework que marca todas as caixas
TypeScript compilado para código nativo. Widgets reais da plataforma. Zero overhead de runtime.
| Framework | Linguagem | Código nativo | Widgets nativos | Overhead de runtime |
|---|---|---|---|---|
| Perry | TypeScript | ✓ Compilado nativo | ✓ Widgets reais da plataforma | ✓ Zero overhead de runtime |
| React Native | JS / TS | JS bridge | Parcial | JS engine + bridge |
| Flutter | Dart | AOT | Sem UI compartilhada | Dart VM |
| Electron | JS / TS | Chromium runtime | HTML mimics | Chromium + Node |
Escreva TypeScript, entregue nativo
Use a sintaxe e APIs familiares do TypeScript. Perry cuida do resto.
// hello.ts
const greeting = "Hello, World!";
console.log(greeting);
// Compiles to ~2MB native executable
// No runtime needed!Comparação de desempenho
A compilação nativa oferece eficiência incomparável
Começar
Instale Perry e comece a compilar TypeScript para executáveis nativos
Homebrew (macOS)
brew install perry-ts/perryAPT (Debian/Ubuntu)
apt-get install perryWindows (winget)
scoop install perry-ts/perrySuporte de funcionalidades
Cobertura abrangente de APIs TypeScript e 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
Mais de 30 pacotes npm nativos
Pacotes npm populares reimplementados em Rust nativo. Sem npm install, sem node_modules, apenas código nativo rápido.
Banco de dados
Segurança
HTTP
Processamento de dados
Data e hora
Utilitários
Como funciona
Do código-fonte TypeScript ao executável nativo em segundos
Quer saber como o compilador funciona por dentro? Internos do compilador
Blog
16 blog
Auto-Update, a Live Inspector, and the Compiler That Halved Itself
O último post fechou em v0.5.306 com a história gen-GC + JSON + benchmarks. Quatro dias depois, Perry está em v0.5.359 — são 53 patch releases — e a história é outra de novo. Nenhu…
tvOS, Cross-Compile iOS from Linux, and Perry Login
Cinco dias, 120 commits, e o Perry salta de v0.4.0 para v0.4.24. Os destaques: tvOS torna-se o 10.º alvo de compilação, apps iOS e macOS podem agora ser constru&…
True Multi-Threading, Compile-Time i18n, and watchOS
Perry v0.4.0 é o maior lançamento desde o início do projeto. Três saltos de versão num único ciclo — v0.3.0 (i18n), v0.3.2 (watchOS), v0.4.…
The Full Pipeline: Docs, Distribution, and WidgetKit
82 commits em sete dias. Um site de documentação com 49 páginas. Publicação automatizada na App Store e Play Store. Pacotes Homebrew e APT. Extensões WidgetKit nativas compiladas a…
Plugin Systems Are a Performance Tax
Voce instala o VS Code. E rapido. Voce adiciona 15 extensoes. Agora leva 4 segundos para iniciar e o Extension Host consome 800 MB de RAM. O que aconteceu?…