Tek Kod Tabanı. Her Platform.
Yerel Performans.
Perry, TypeScript'i macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly ve Web üzerinde yerel GUI ve CLI uygulamalarına derler. Runtime yok. Electron yok. Sadece yerel ikili dosyalar.
$ perry compile main.ts
main.ts derleniyor...
✓ Derlenen çalıştırılabilir dosya: main (2,3 MB)
$ ./main
Hello, World!Perry ile TypeScript'ten derlenmiş gerçek uygulamalar.
Neden Perry?
TypeScript'i yerel uygulamalara derlemek için ihtiyacınız olan her şey
İnsanların neler ürettiğini görün
TypeScript'ten derlenen gerçek native uygulamalar. Electron yok, web view yok — her platformda native UI.
Mango
Native MongoDB GUI — tamamen TypeScript ile yapılmış


Hone
Native AI destekli kod editörü — TypeScript'ten native binary'ye

Her Platformda Yerel
Perry, TypeScript'inizi yerel UI framework'lerine, WebAssembly'e ve JavaScript'e derler — web view değil, Electron değil. Her platformda gerçek yerel widget'lar, artı web.
Koddan App Store'a
Perry sadece uygulamanızı derlemez — kullanıcılarınızın eline ulaştırır.
Derle ve İmzala
Tek komutla çapraz platform derlemeleri. macOS, iOS, Android ve Windows için kod imzalama sizin için halledilir. Xcode sağlama profilleri veya Android keystore'ları ile uğraşmaya gerek yok.
Dağıt
App Store, Play Store'a gönderin veya doğrudan indirme sunun. Perry Publish paketleme, noter onayı ve gönderimi yönetir.
Doğrula
Geisterhand tarafından desteklenir. 6 platformun tamamında otomatik UI testleri. Kullanıcılarınız size söylemeden önce uygulamanızın her yerde çalıştığından emin olun.
Açık kaynak projeler için ücretsiz. Takımlar için planlar → /publish
Her kutuyu işaretleyen tek framework
TypeScript yerel koda derlendi. Gerçek platform widget'ları. Sıfır runtime yükü.
| Framework | Dil | Yerel Kod | Yerel Widget'lar | Runtime Yükü |
|---|---|---|---|---|
| Perry | TypeScript | ✓ Yerel derlenmiş | ✓ Gerçek platform widget'ları | ✓ Sıfır runtime yükü |
| React Native | JS / TS | JS bridge | Kısmi | JS engine + bridge |
| Flutter | Dart | AOT | Paylaşılan UI yok | Dart VM |
| Electron | JS / TS | Chromium runtime | HTML mimics | Chromium + Node |
TypeScript Yaz, Yerel Gönder
Tanıdık TypeScript sözdizimi ve API'lerini kullanın. Perry gerisini halleder.
// hello.ts
const greeting = "Hello, World!";
console.log(greeting);
// Compiles to ~2MB native executable
// No runtime needed!Performans Karşılaştırması
Yerel derleme benzersiz verimlilik sunar
Başlayın
Perry'yi kurun ve TypeScript'i yerel çalıştırılabilir dosyalara derlemeye başlayın
Homebrew (macOS)
brew install perry-ts/perryAPT (Debian/Ubuntu)
apt-get install perryWindows (winget)
scoop install perry-ts/perryÖzellik Desteği
Kapsamlı TypeScript ve Node.js API kapsama alanı
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+ Yerel npm Paketi
Popüler npm paketleri yerel Rust'ta yeniden implemente edildi. npm install yok, node_modules yok, sadece hızlı yerel kod.
Veritabanı
Güvenlik
HTTP
Veri İşleme
Tarih ve Saat
Yardımcılar
Nasıl Çalışır
TypeScript kaynağından yerel çalıştırılabilir dosyaya saniyeler içinde
Derleyicinin kaputun altında nasıl çalıştığını öğrenmek ister misiniz? Derleyici iç yapısı
Blog
16 blog
Auto-Update, a Live Inspector, and the Compiler That Halved Itself
Önceki yazı v0.5.306'da gen-GC + JSON + benchmark hikayesiyle kapanmıştı. Dört gün sonra Perry v0.5.359'da — yani 53 patch sürüm — ve hikaye yine farklı. Bu sürümlerin hiçbiri benc…
tvOS, Cross-Compile iOS from Linux, and Perry Login
Beş gün, 120 commit ve Perry v0.4.0'dan v0.4.24'e atlıyor. Öne çıkanlar: tvOS 10. derleme hedefi oluyor, iOS ve macOS uygulamaları artık tamamen Linux'tan oluşturu…
True Multi-Threading, Compile-Time i18n, and watchOS
Perry v0.4.0, projenin başlangıcından bu yana en büyük sürüm. Tek bir döngüde üç versiyon atlayışı — v0.3.0 (i18n), v0.3.2 (watchOS), v0.4…
The Full Pipeline: Docs, Distribution, and WidgetKit
Yedi günde 82 commit. 49 sayfalık bir dokümantasyon sitesi. Otomatik App Store ve Play Store yayınlama. Homebrew ve APT paketleri. TypeScript'ten derlenen yerel WidgetKit uzantılar…
Plugin Systems Are a Performance Tax
VS Code'u kuruyorsunuz. Hizli. 15 uzanti ekliyorsunuz. Artik baslamasi 4 saniye suruyor ve Extension Host 800 MB RAM yiyor. Ne oldu?…