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

lxiol
📝
MIT开源协议,一套代码覆盖所有平台,原生性能,将TypeScript编译为各平台原生应用,无需运行时和Electron。

原文链接:https://mp.weixin.qq.com/s/NhQnyF0ZYLoOkXmLzCiCLw

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 进行许可。