一套代码。所有平台。
原生性能。
Perry 将 TypeScript 编译为 macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly 和 Web 上的原生 GUI 和 CLI 应用。无需运行时。无需 Electron。只有原生二进制文件。
$ perry compile main.ts
正在编译 main.ts...
✓ 已编译可执行文件:main(2.3 MB)
$ ./main
Hello, World!为什么选择 Perry?
将 TypeScript 编译为原生应用所需的一切
看看人们在构建什么
真正的原生应用,从 TypeScript 编译。没有 Electron,没有 Web View — 每个平台上都是原生 UI。
Mango
原生 MongoDB GUI — 完全用 TypeScript 构建


Hone
原生 AI 代码编辑器 — TypeScript 编译为原生二进制

在每个平台上原生运行
Perry 将您的 TypeScript 编译为原生 UI 框架、WebAssembly 和 JavaScript——不是 Web 视图,不是 Electron。每个平台上都是真正的原生组件,外加 Web。
从代码到 App Store
Perry 不仅编译您的应用——还将其送到用户手中。
构建并签名
一条命令完成跨平台构建。macOS、iOS、Android 和 Windows 的代码签名自动处理。无需与 Xcode 配置文件或 Android 密钥库搏斗。
分发
推送到 App Store、Play Store,或提供直接下载。Perry Publish 处理打包、公证和提交。
验证
由 Geisterhand 驱动。在全部 6 个平台上进行自动化 UI 测试。在用户告诉您之前,确保您的应用在所有地方都能正常工作。
开源项目免费。 团队方案 → /publish
唯一满足所有条件的框架
TypeScript 编译为原生代码。真正的平台组件。零运行时开销。
| 框架 | 语言 | 原生代码 | 原生组件 | 运行时开销 |
|---|---|---|---|---|
| Perry | TypeScript | ✓ 原生编译 | ✓ 真正的平台组件 | ✓ 零运行时开销 |
| 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,交付原生应用
使用熟悉的 TypeScript 语法和 API。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功能支持
全面覆盖 TypeScript 和 Node.js API
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+ 原生 npm 包
热门 npm 包以原生 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 + 基准。四天后,Perry 已经到了 v0.5.359 — 也就是 53 个补丁版本 — 故事又变了。这些版本里没有一个是以基准数字作为头条。几乎全部都是 跟踪器中的 issue 被关闭。…
tvOS, Cross-Compile iOS from Linux, and Perry Login
五天,120 次提交,Perry 从 v0.4.0 跃升至 v0.4.24。亮点:tvOS 成为第 10 个编译目标,iOS 和 macOS 应用现在可以完全从 Linux 构建,perry login 带来基于使用量的计费,Windows UI 进行了全面改造。以下是所有发布内容。…
True Multi-Threading, Compile-Time i18n, and watchOS
Perry v0.4.0 是项目启动以来最大的版本。一个周期内三次版本跳跃 —— v0.3.0(i18n)、v0.3.2(watchOS)、v0.4.0(多线程)—— 编译器本身也实现了并行。以下是所有发布内容。…
The Full Pipeline: Docs, Distribution, and WidgetKit
七天 82 次提交。49 页的文档站点。自动化 App Store 和 Play Store 发布。 Homebrew 和 APT 包。从 TypeScript 编译的原生 WidgetKit 扩展。 自托管 LLVM 编译器。以及所有平台上的数十个错误修复。…
Plugin Systems Are a Performance Tax
你安装了 VS Code。很快。你添加了 15 个扩展。现在启动要 4 秒,Extension Host 占用 800 MB 内存。发生了什么?…