首页TypeScriptPerryTS/perry
// archived 2026-04-22
46

// 项目简介

Perry 是一个使用 Rust 构建的原生 TypeScript 编译器,可将代码转换为独立的、高性能的可执行文件。通过利用 LLVM 进行代码生成,它消除了对 Node.js、Electron 或浏览器运行时的需求。该项目支持桌面、移动端和 Web 的跨平台开发,并提供原生 UI 组件和多线程功能。

// 技术分析

Perry 是一个使用 Rust 构建的原生 TypeScript 编译器,它利用 SWC 进行解析,并使用 LLVM 进行代码生成,从而产生独立、高性能的原生可执行文件。通过消除对 Node.js、Electron 或浏览器引擎的需求,它解决了跨平台开发中繁重的运行时依赖和性能开销问题。该项目通过标量替换非逃逸对象和整数模运算快速路径等高级优化,优先考虑原生执行速度,有效地弥合了高级 TypeScript 与 C++ 和 Rust 等系统语言之间的性能差距。

// 核心亮点

01
将 TypeScript 直接编译为小型、独立的本地二进制文件,无需外部运行时依赖。
02
通过使用 LLVM 执行逃逸分析和对象字段寄存器分配等激进优化,实现了优于 Node.js 和 Bun 的卓越性能。
03
提供了一个声明式的、类似 SwiftUI 的原生 UI 系统,可映射到包括 iOS、Android 和桌面在内的九个不同目标平台上的特定组件。
04
支持安全的、数据并行多线程,并通过编译时强制执行来防止共享可变状态和数据竞争。
05
通过在编译时将区域设置字符串和 CLDR 复数规则直接嵌入二进制文件,支持零开销的国际化。
06
通过 perry-hub 提供基于云的发布服务,以处理各种移动和桌面平台的交叉编译和签名。

// 典型使用场景

01
将 TypeScript 编译为无需运行时依赖的小型独立原生二进制文件。
02
使用单一代码库构建适用于桌面、移动端和 Web 的跨平台原生应用程序。
03
利用类似 SwiftUI 的声明式框架开发高性能原生 UI 应用程序。

// 快速开始

要开始使用,请通过 npm 使用 'npm install @perryts/perry' 安装 Perry,或者使用 'npx @perryts/perry' 进行零安装体验。使用 'perry init my-project' 初始化项目,然后使用 'perry compile src/main.ts -o myapp' 将代码构建为原生可执行文件。您可以随时通过运行 'perry doctor' 来验证您的环境设置。