Satu Kode Sumber. Semua Platform.
Performa Native.
Perry mengompilasi TypeScript menjadi aplikasi GUI dan CLI native di macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly, dan Web. Tanpa runtime. Tanpa Electron. Hanya binary native.
$ perry compile main.ts
Mengompilasi main.ts...
✓ Executable terkompilasi: main (2,3 MB)
$ ./main
Hello, World!Aplikasi nyata, dikompilasi dari TypeScript dengan Perry.
Mengapa Perry?
Semua yang Anda butuhkan untuk mengompilasi TypeScript menjadi aplikasi native
Lihat Apa yang Orang Bangun
Aplikasi native nyata, dikompilasi dari TypeScript. Tanpa Electron, tanpa web view — hanya UI native di setiap platform.
Mango
GUI MongoDB native — dibangun sepenuhnya dengan TypeScript


Hone
Editor kode native bertenaga AI — TypeScript ke binary native

Native di Semua Platform
Perry mengompilasi TypeScript Anda ke framework UI native, WebAssembly, dan JavaScript — bukan web view, bukan Electron. Widget native asli di setiap platform, plus web.
Dari Kode ke App Store
Perry tidak hanya mengompilasi aplikasi Anda — tetapi juga mengantarkannya ke tangan pengguna.
Build & Tanda Tangani
Build lintas platform dengan satu perintah. Penandatanganan kode untuk macOS, iOS, Android, dan Windows ditangani untuk Anda. Tidak perlu bergulat dengan provisioning profile Xcode atau keystore Android.
Distribusi
Push ke App Store, Play Store, atau kirim unduhan langsung. Perry Publish menangani pengemasan, notarisasi, dan pengiriman.
Verifikasi
Didukung oleh Geisterhand. Pengujian UI otomatis di semua 6 platform. Ketahui bahwa aplikasi Anda bekerja di mana saja sebelum pengguna memberi tahu Anda bahwa tidak.
Gratis untuk proyek open source. Paket untuk tim → /publish
Satu-satunya framework yang memenuhi semua kriteria
TypeScript dikompilasi ke kode native. Widget platform asli. Nol overhead runtime.
| Framework | Bahasa | Kode Native | Widget Native | Overhead Runtime |
|---|---|---|---|---|
| Perry | TypeScript | ✓ Dikompilasi native | ✓ Widget platform asli | ✓ Nol overhead runtime |
| React Native | JS / TS | JS bridge | Sebagian | JS engine + bridge |
| Flutter | Dart | AOT | Tanpa UI bersama | Dart VM |
| Electron | JS / TS | Chromium runtime | HTML mimics | Chromium + Node |
Tulis TypeScript, Kirim Native
Gunakan sintaks dan API TypeScript yang familiar. Perry menangani sisanya.
// hello.ts
const greeting = "Hello, World!";
console.log(greeting);
// Compiles to ~2MB native executable
// No runtime needed!Perbandingan Performa
Kompilasi native memberikan efisiensi tak tertandingi
Mulai
Instal Perry dan mulai mengompilasi TypeScript menjadi executable native
Homebrew (macOS)
brew install perry-ts/perryAPT (Debian/Ubuntu)
apt-get install perryWindows (winget)
scoop install perry-ts/perryDukungan Fitur
Cakupan API TypeScript dan Node.js yang komprehensif
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
30+ Paket npm Native
Paket npm populer diimplementasi ulang dalam Rust native. Tanpa npm install, tanpa node_modules, hanya kode native yang cepat.
Database
Keamanan
HTTP
Pemrosesan Data
Tanggal & Waktu
Utilitas
Cara Kerjanya
Dari kode sumber TypeScript ke executable native dalam hitungan detik
Ingin tahu bagaimana kompiler bekerja di balik layar? Struktur internal kompiler
Blog
16 blog
Auto-Update, a Live Inspector, and the Compiler That Halved Itself
Postingan terakhir berakhir di v0.5.306 dengan kisah gen-GC + JSON + benchmark. Empat hari kemudian, Perry sudah di v0.5.359 — yaitu 53 patch release — dan ceritanya berbeda lagi. …
tvOS, Cross-Compile iOS from Linux, and Perry Login
Lima hari, 120 commit, dan Perry melompat dari v0.4.0 ke v0.4.24. Sorotan utama: tvOS menjadi target kompilasi ke-10, aplikasi iOS dan macOS sekarang bisa di-build sepenuhnya dari …
True Multi-Threading, Compile-Time i18n, and watchOS
Perry v0.4.0 adalah rilis terbesar sejak proyek dimulai. Tiga lompatan versi dalam satu siklus — v0.3.0 (i18n), v0.3.2 (watchOS), v0.4.0 (multi-threading) — dan compiler-nya sendir…
The Full Pipeline: Docs, Distribution, and WidgetKit
82 commit dalam tujuh hari. Situs dokumentasi dengan 49 halaman. Publikasi App Store dan Play Store otomatis. Paket Homebrew dan APT. Ekstensi WidgetKit native yang dikompilasi dar…
Plugin Systems Are a Performance Tax
Anda menginstal VS Code. Cepat. Anda menambahkan 15 ekstensi. Sekarang butuh 4 detik untuk start dan Extension Host menghabiskan 800 MB RAM. Apa yang terjadi?…