开源一套代码所有平台原生性能无需运行时无需Electron
MIT开源协议。
一套代码。所有平台。原生性能。
将 TypeScript 编译为 macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly 和 Web 上的原生 GUI 和 CLI 应用。无需运行时。无需 Electron。只有原生二进制文件。
一飞开源,介绍创意、新奇、有趣、实用的开源/AI应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
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://github.com/PerryTS/perry
访问一飞开源:https://code.exmay.com/
💬 本文评论区已开启,但暂无读者留言。
本文转载自微信公众号,如有侵权请联系删除。
- 标题: 开源一套代码所有平台原生性能无需运行时无需Electron
- 作者: lxiol
- 创建于 : 2026-04-29 20:24:48
- 更新于 : 2026-05-12 16:07:04
- 链接: https://blog.lxiol.cn/2026/04/29/开源一套代码所有平台原生性能无需运行时无需-Electron/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。