首页 AI编程工具 Perry:TypeScript 直接编译成原生程序,跨平台行业被炸穿了

Perry:TypeScript 直接编译成原生程序,跨平台行业被炸穿了

📅 2026/6/2 👁 阅读 3 🔗 工具访问 0 次
Perry:TypeScript 直接编译成原生程序,跨平台行业被炸穿了

工具地址

https://github.com/PerryTS/perry

🚀 访问工具

Perry:TypeScript 直接编译成原生程序,跨平台行业被炸穿了

上周 Hacker News 上火了一个项目。一个叫 Perry 的东西,直接把 TypeScript 编译成原生可执行文件——不需要 Node.js、不需要 V8、不需要 Electron。一个 hello world 只有 330KB,启动时间 0ms

说它不是新闻是假的。TypeScript 到原生这条路上,之前不是没人试过,但没有一个做到了 Perry 这个程度。

Perry 是什么

Perry 是一个用 Rust 写的 TypeScript 原生编译器。它用 SWC 做 TypeScript 解析,用 LLVM 做原生代码生成。输入的是一堆 .ts 文件,输出的是一个可以直接运行的二进制文件。

这不是「把 Node.js 打包进去」那种套路。perry 编译出来的程序,目标机器上不需要装任何运行时。连 Node.js 都不需要。

而且它有一个完整的跨平台 UI 框架(perry/ui),写 TypeScript 的界面代码,编译出来直接调 AppKit(macOS)、UIKit(iOS)、GTK4(Linux)、Win32(Windows)的原生控件。不是 WebView 套壳,不是 Canvas 自绘——就是真正的平台原生界面。

性能数据有点离谱

作者公开了一组详细的性能对比数据,跟 Rust、C++、Go、Swift、Java、Node.js、Bun 做了对标:

测试PerryRustC++Node.jsBun
fibonacci (递归)309ms316ms309ms987ms518ms
对象分配 (100 万)2ms0ms0ms8ms6ms
数组读取 (1000 万)11ms9ms9ms14ms16ms
closure 调用 (1000 万)50ms304ms51ms
JSON 往返 (50次)83ms377ms249ms

结论:Perry 在许多场景下的性能跟 Rust 默认优化级别不相上下,吊打 Node.js 和 Bun。

关键优化手段包括:标量替换(逃逸分析消除堆分配)、内联 bump 分配器、i32 循环计数器、整数模运算快速路径、i64 特化纯数值递归函数。

不只是编译器——还有 UI 框架

Perry 有一个尚在快速迭代中的 UI 框架。当你在 TypeScript 里写界面代码,Perry 把它编译成真正的平台原生控件:

支持的控件:按钮、输入框、列表、滚动视图、二维码、安全输入框、启动画面、导航栏等 25+ 种。

目前已经有实际产品在用 Perry 构建:

跨平台支持的广度

Perry 目前支持 10 个平台:macOS(arm64/x64)、Linux(x64/arm64 glibc+musl)、Windows x64、iOS、Android。安装方式覆盖了所有主流的包管理器:

# npm / npx(推荐,一行搞定)
npx -y @perryts/perry compile src/main.ts -o myapp

# macOS
brew install perryts/perry/perry

# Windows
winget install PerryTS.Perry

# Linux (APT)
curl -fsSL https://perryts.github.io/perry-apt/perry.gpg.pub | ... && sudo apt install perry

# 一键脚本
curl -fsSL https://raw.githubusercontent.com/PerryTS/perry/main/packaging/install.sh | sh

快速上手

# 创建项目
npx -y @perryts/perry init my-app
cd my-app

# 编译和运行
npx perry compile src/main.ts -o myapp
./myapp

# 一行搞定
npx perry run .

# 检查环境
npx perry doctor

要求:需要系统有 C 链接器(macOS 装 Xcode CLT,Linux 装 build-essential,Windows 装 MSVC)。

我的看法

Perry 是我今年看到的、最让我兴奋的开发者工具。

原因不是它「比 Node.js 快多少倍」——这个重要,但不是核心。核心是它提出了一个不一样的路线:TypeScript 开发者不需要放弃自己的语言和生态,也能做出原生性能的应用。

Flutter 让你用 Dart 写跨平台应用。React Native 让你用 JS 写,但底层还是 JavaScriptCore 或 Hermes。Tauri 让你用前端技术写,但界面还是 WebView。Perry 是唯一一个让你用 TypeScript 写、但编译出来是真正原生机器码的方案。

当然它还在 0.5 版本,UI 框架的功能还不够丰富,生态还在早期。但方向是对的,性能和产品思路也都在正轨上。

如果你做跨平台开发,或者对 TypeScript 的性能极限有好奇,现在就该去看看 Perry。

💬 评论区 (0 条评论)

暂无评论,快来发表第一条评论吧!

📤 分享这篇文章

📌 相关推荐

微信扫码分享

打开微信扫一扫