โค้ดเดียว ทุกแพลตฟอร์ม
ประสิทธิภาพระดับเนทีฟ
Perry คอมไพล์ TypeScript เป็นแอป GUI และ CLI เนทีฟบน macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly และเว็บ ไม่ต้องมี runtime ไม่ต้องมี Electron เป็นไบนารีเนทีฟล้วน ๆ
$ perry compile main.ts
กำลังคอมไพล์ main.ts...
✓ คอมไพล์ไฟล์สำเร็จ: main (2.3 MB)
$ ./main
Hello, World!แอปจริงที่คอมไพล์จาก TypeScript ด้วย Perry
ทำไมต้อง Perry?
ทุกอย่างที่คุณต้องการเพื่อคอมไพล์ TypeScript เป็นแอปพลิเคชันเนทีฟ
ดูสิ่งที่ผู้คนสร้าง
แอปเนทีฟจริง คอมไพล์จาก TypeScript ไม่มี Electron ไม่มี Web View — แค่ UI เนทีฟบนทุกแพลตฟอร์ม
Mango
GUI MongoDB เนทีฟ — สร้างด้วย TypeScript ทั้งหมด


Hone
โค้ดเอดิเตอร์เนทีฟขับเคลื่อนด้วย AI — TypeScript สู่ไบนารีเนทีฟ

เนทีฟบนทุกแพลตฟอร์ม
Perry คอมไพล์ TypeScript ของคุณเป็นเฟรมเวิร์ก UI เนทีฟ, WebAssembly และ JavaScript — ไม่ใช่ web view, ไม่ใช่ Electron วิดเจ็ตเนทีฟจริงบนทุกแพลตฟอร์ม รวมถึงเว็บ
จากโค้ดสู่ App Store
Perry ไม่แค่คอมไพล์แอปของคุณ — แต่ส่งมอบถึงมือผู้ใช้
บิลด์และลงนาม
บิลด์ข้ามแพลตฟอร์มด้วยคำสั่งเดียว การลงนามโค้ดสำหรับ macOS, iOS, Android และ Windows จัดการให้คุณ ไม่ต้องต่อสู้กับ provisioning profile ของ Xcode หรือ keystore ของ Android
แจกจ่าย
ส่งไปยัง App Store, Play Store หรือให้ดาวน์โหลดโดยตรง Perry Publish จัดการการแพ็กเกจ, การรับรอง และการส่ง
ตรวจสอบ
ขับเคลื่อนโดย Geisterhand ทดสอบ UI อัตโนมัติบนทั้ง 6 แพลตฟอร์ม รู้ว่าแอปของคุณทำงานได้ทุกที่ก่อนที่ผู้ใช้จะบอกคุณว่ามันใช้ไม่ได้
ฟรีสำหรับโปรเจกต์โอเพนซอร์ส แพลนสำหรับทีม → /publish
เฟรมเวิร์กเดียวที่ตรงตามทุกข้อกำหนด
TypeScript คอมไพล์เป็นโค้ดเนทีฟ วิดเจ็ตแพลตฟอร์มจริง ไม่มี overhead ที่รันไทม์
| เฟรมเวิร์ก | ภาษา | โค้ดเนทีฟ | วิดเจ็ตเนทีฟ | Overhead ที่รันไทม์ |
|---|---|---|---|---|
| Perry | TypeScript | ✓ คอมไพล์เนทีฟ | ✓ วิดเจ็ตแพลตฟอร์มจริง | ✓ ไม่มี overhead ที่รันไทม์ |
| React Native | JS / TS | JS bridge | บางส่วน | JS engine + bridge |
| Flutter | Dart | AOT | ไม่มี UI ที่ใช้ร่วมกัน | Dart VM |
| Electron | JS / TS | Chromium runtime | HTML mimics | Chromium + Node |
เขียน TypeScript ส่งมอบแบบเนทีฟ
ใช้ syntax และ API ของ TypeScript ที่คุ้นเคย Perry จัดการส่วนที่เหลือ
// hello.ts
const greeting = "Hello, World!";
console.log(greeting);
// Compiles to ~2MB native executable
// No runtime needed!การเปรียบเทียบประสิทธิภาพ
การคอมไพล์เนทีฟให้ประสิทธิภาพที่ไม่มีใครเทียบได้
เริ่มต้น
ติดตั้ง Perry และเริ่มคอมไพล์ TypeScript เป็นไฟล์ปฏิบัติการเนทีฟ
Homebrew (macOS)
brew install perry-ts/perryAPT (Debian/Ubuntu)
apt-get install perryWindows (winget)
scoop install perry-ts/perryการรองรับฟีเจอร์
ครอบคลุม API ของ TypeScript และ 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
แพ็กเกจ npm เนทีฟ 30+ ตัว
แพ็กเกจ npm ยอดนิยมที่ implement ใหม่ในเนทีฟ Rust ไม่ต้อง npm install ไม่ต้อง node_modules แค่โค้ดเนทีฟที่เร็ว
ฐานข้อมูล
ความปลอดภัย
HTTP
การประมวลผลข้อมูล
วันที่และเวลา
ยูทิลิตี้
มันทำงานอย่างไร
จากซอร์สโค้ด TypeScript เป็นไฟล์ปฏิบัติการเนทีฟในไม่กี่วินาที
อยากรู้ว่าคอมไพเลอร์ทำงานภายในอย่างไร? โครงสร้างภายในคอมไพเลอร์
บล็อก
16 บล็อก
Auto-Update, a Live Inspector, and the Compiler That Halved Itself
โพสต์ที่แล้วปิดท้ายที่ v0.5.306 ด้วยเรื่อง gen-GC + JSON + benchmark สี่วันต่อมา Perry มาถึง v0.5.359 — นั่นคือ 53 patch release — และเรื่องราวก็ต่างออกไปอีกครั้ง ไม่มี release ไหน…
tvOS, Cross-Compile iOS from Linux, and Perry Login
ห้าวัน 120 คอมมิต และ Perry กระโดดจาก v0.4.0 เป็น v0.4.24 ไฮไลท์: tvOS กลายเป็นเป้าหมายการคอมไพล์ลำดับที่ 10, แอป iOS และ macOS สามารถสร้างได้ทั้งหมดจาก Linux, perry login นำเสนอกา…
True Multi-Threading, Compile-Time i18n, and watchOS
Perry v0.4.0 เป็นรีลีสที่ใหญ่ที่สุดตั้งแต่โปรเจกต์เริ่มต้น สามครั้งของการกระโดดเวอร์ชันในรอบเดียว — v0.3.0 (i18n), v0.3.2 (watchOS), v0.4.0 (multi-threading) — และตัวคอมไพเลอร์เองก…
The Full Pipeline: Docs, Distribution, and WidgetKit
82 คอมมิตใน 7 วัน เว็บไซต์เอกสาร 49 หน้า การเผยแพร่ App Store และ Play Store อัตโนมัติ แพ็กเกจ Homebrew และ APT ส่วนขยาย WidgetKit เนทีฟที่คอมไพล์จาก TypeScript คอมไพเลอร์ LLVM แบบ…
Plugin Systems Are a Performance Tax
คุณติดตั้ง VS Code มันเร็ว คุณเพิ่มส่วนขยาย 15 ตัว ตอนนี้ใช้เวลา 4 วินาทีในการเริ่มต้นและ Extension Host กิน RAM 800 MB เกิดอะไรขึ้น?…