Un solo codice. Ogni piattaforma.
Prestazioni native.
Perry compila TypeScript in applicazioni GUI e CLI native su macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly e il Web. Nessun runtime. Nessun Electron. Solo binari nativi.
$ perry compile main.ts
Compilazione di main.ts...
✓ Eseguibile compilato: main (2,3 MB)
$ ./main
Hello, World!App reali, compilate da TypeScript con Perry.
Perché Perry?
Tutto ciò che serve per compilare TypeScript in applicazioni native
Guarda cosa le persone costruiscono
App native reali, compilate da TypeScript. Niente Electron, niente web view — solo UI nativa su ogni piattaforma.
Mango
GUI MongoDB nativa — costruita interamente in TypeScript


Hone
Editor di codice nativo con IA — da TypeScript a binario nativo

Nativo su ogni piattaforma
Perry compila il tuo TypeScript in framework UI nativi, WebAssembly e JavaScript — niente web view, niente Electron. Veri widget nativi su ogni piattaforma, più il web.
Dal codice all'App Store
Perry non solo compila la tua app — la mette nelle mani dei tuoi utenti.
Compila e firma
Build multipiattaforma con un solo comando. La firma del codice per macOS, iOS, Android e Windows viene gestita per te. Niente più lotte con i profili di provisioning Xcode o i keystore Android.
Distribuisci
Pubblica sull'App Store, Play Store o distribuisci download diretti. Perry Publish gestisce il packaging, la notarizzazione e l'invio.
Verifica
Powered by Geisterhand. Test UI automatizzati su tutte le 6 piattaforme. Sappi che la tua app funziona ovunque prima che i tuoi utenti te lo facciano notare.
Gratuito per i progetti open source. Piani per i team → /publish
L'unico framework che soddisfa ogni requisito
TypeScript compilato in codice nativo. Veri widget di piattaforma. Zero overhead runtime.
| Framework | Linguaggio | Codice nativo | Widget nativi | Overhead runtime |
|---|---|---|---|---|
| Perry | TypeScript | ✓ Compilato nativo | ✓ Veri widget di piattaforma | ✓ Zero overhead runtime |
| React Native | JS / TS | JS bridge | Parziale | JS engine + bridge |
| Flutter | Dart | AOT | Nessuna UI condivisa | Dart VM |
| Electron | JS / TS | Chromium runtime | HTML mimics | Chromium + Node |
Scrivi TypeScript, distribuisci nativo
Usa la sintassi e le API TypeScript familiari. Perry fa il resto.
// hello.ts
const greeting = "Hello, World!";
console.log(greeting);
// Compiles to ~2MB native executable
// No runtime needed!Confronto delle prestazioni
La compilazione nativa offre un'efficienza senza pari
Inizia
Installa Perry e inizia a compilare TypeScript in eseguibili nativi
Homebrew (macOS)
brew install perry-ts/perryAPT (Debian/Ubuntu)
apt-get install perryWindows (winget)
scoop install perry-ts/perrySupporto delle funzionalità
Copertura completa delle API 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
Oltre 30 pacchetti npm nativi
Pacchetti npm popolari reimplementati in Rust nativo. Nessun npm install, nessun node_modules, solo codice nativo veloce.
Database
Sicurezza
HTTP
Elaborazione dati
Data e ora
Utilità
Come funziona
Dal codice sorgente TypeScript all'eseguibile nativo in pochi secondi
Vuoi sapere come funziona il compilatore sotto il cofano? Meccanismi interni del compilatore
Blog
16 blog
Auto-Update, a Live Inspector, and the Compiler That Halved Itself
Il post precedente si è chiuso a v0.5.306 sulla storia gen-GC + JSON + benchmark. Quattro giorni dopo, Perry è a v0.5.359 — sono 53 patch release — e la storia è ancora un'altra. N…
tvOS, Cross-Compile iOS from Linux, and Perry Login
Cinque giorni, 120 commit, e Perry salta da v0.4.0 a v0.4.24. I punti salienti: tvOS diventa il 10° target di compilazione, le app iOS e macOS possono ora essere compilate interame…
True Multi-Threading, Compile-Time i18n, and watchOS
Perry v0.4.0 è il rilascio più grande dall'inizio del progetto. Tre salti di versione in un ciclo — v0.3.0 (i18n), v0.3.2 (watchOS), v0.4.0 (multi-threading) — e il compilatore ste…
The Full Pipeline: Docs, Distribution, and WidgetKit
82 commit in sette giorni. Un sito di documentazione con 49 pagine. Pubblicazione automatica su App Store e Play Store. Pacchetti Homebrew e APT. Estensioni WidgetKit native compil…
Plugin Systems Are a Performance Tax
Installi VS Code. È veloce. Aggiungi 15 estensioni. Ora ci mette 4 secondi ad avviarsi e l'Extension Host consuma 800 MB di RAM. Cos'è successo?…