一套代码、所有平台、原生性能。无需运行时、无需 Electron

摘要: 一、Perry 开源项目简介 一套代码。所有平台。原生性能。 Perry 将 TypeScript 编译为 macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly 和 Web 上的原生 GUI 和 CLI 应用。无需运行时。无需...

一、Perry 开源项目简介

一套代码。所有平台。原生性能。
Perry 将 TypeScript 编译为 macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly 和 Web 上的原生 GUI 和 CLI 应用。无需运行时。无需 Electron。只有原生二进制文件。

二、开源协议
使用MIT开源协议

三、界面展示













四、功能概述

一个用 Rust 语言编写的原生 TypeScript 编译器。它使用 SWC 和 LLVM 将 TypeScript 直接编译为可执行文件

为什么选择Perry?

将 TypeScript 编译为原生应用所需的一切

无需运行时

生成独立的原生可执行文件。无需 Node.js、无需 V8、无运行时依赖。只需一个二进制文件即可在任何地方运行。

快速编译

使用 SWC 解析和 LLVM 优化代码生成,将 TypeScript 直接编译为原生代码。无中间 JavaScript。

体积小巧

输出的二进制文件通常只有 2-5 MB。搭配可选的 V8 运行时(用于 JS npm 包)为 15-20 MB。分发更少,部署更快。

可重现构建

相同输入,相同二进制。换机器、换 CI、换团队都能复现。再也没有诡异的重新构建。

全面的标准库

内置 fs、path、crypto、os、Buffer、child_process 等原生实现。使用您熟悉的 Node.js API。

可选 V8 运行时

需要使用纯 JavaScript npm 包?启用 V8 运行时标志即可获得完整的 npm 生态系统兼容性。

25+ 原生 UI 组件

按钮、文本框、文本区域、表格、Canvas、滚动视图、二维码、安全输入框、启动画面等——全部编译为通过 AppKit、GTK4、Win32、UIKit 和 JNI 实现的真正平台组件。

编译时插件系统

模块在构建时组合——无运行时插件开销,无 IPC 边界。您的依赖项成为最终二进制文件中的直接原生函数调用。

真正的多线程

通过 parallelMap、parallelFilter 和 spawn 使用真正的操作系统线程。编译时安全性拒绝可变捕获——无需 SharedArrayBuffer,无需 Worker,只有线程。

编译时 i18n

自动字符串提取、30+ 语言环境的 CLDR 复数规则、编译时验证。翻译被嵌入二进制文件中,运行时查找几乎为零。

五、技术选型

真正的原生应用,从 TypeScript 编译。没有 Electron,没有 Web View — 每个平台上都是原生 UI。

在每个平台上原生运行

Perry 将您的 TypeScript 编译为原生 UI 框架、WebAssembly 和 JavaScript——不是 Web 视图,不是 Electron。每个平台上都是真正的原生组件,外加 Web。

六、源码地址

官网:https://www.perryts.com/
开源项目地址:
https://github.com/PerryTS/perry
转自:https://mp.weixin.qq.com/s/NhQnyF0ZYLoOkXmLzCiCLw