游乐游手机版
首页/业界动态/文章详情

RN Flutter Electron全被TS一锅端

时间:2026-06-08 13:52
Perry 项目的核心目标十分明确:将 TypeScript 从“必须依赖运行时才能执行”的语言,推向“能够直接编译出可运行程序”的方向。这个想法听起来有些反直觉,但近期已在开发者圈内引发了广泛关注。 TypeScript 长期以来都是前端开发的标准配置,但它的应用边界正在被不断拓展。名为 Perr

Perry 项目的核心目标十分明确:将 TypeScript 从“必须依赖运行时才能执行”的语言,推向“能够直接编译出可运行程序”的方向。这个想法听起来有些反直觉,但近期已在开发者圈内引发了广泛关注。

TypeScript 长期以来都是前端开发的标准配置,但它的应用边界正在被不断拓展。名为 Perry 的新方案,给出了一个截然不同的答案:借助 TypeScript 直接编译出原生 App。无需 Node,无需浏览器,也不依赖 Electron 这类套壳方案。这是 TypeScript 首次不仅参与跨平台开发,更试图成为“原生应用的生产语言”。

跨平台开发,其实一直在“绕路”

多年来的跨平台方案层出不穷,但本质上都是在做权衡取舍。

(1) Electron:简单,但代价高昂

本质上是把 Web 技术封装进桌面:JS → Chromium → 应用。好处很明显:开发效率高、生态完善。缺点同样突出:内存占用大、启动缓慢,怎么看都像是一个“披着桌面外衣的网页”。

(2) React Native:贴近原生,但有额外成本

RN 采用桥接路线:JS → Bridge → Native。UI 确实是原生组件,但 JS 与原生之间需要频繁通信。一旦交互复杂,性能和状态管理就会变得微妙。

(3) Flutter:体验稳定,但路线不同

Flutter 直接自行绘制 UI:Dart → Skia → GPU。一致性很好,性能也不错。但它的本质是“自建一套世界”,与系统原生 UI 属于两套体系。

这三条路,本质上都是在想办法让“脚本语言”去适配“原生环境”。而 Perry 开辟了另一条思路。

Perry 在做什么?

Perry 干脆换了一个问法:为什么一定要“运行”TypeScript?能不能直接“编译”?于是它的模型变成了这样:

TypeScript → SWC 解析 → LLVM → Native Binary

编译产生的是一个真正的可执行文件,可以直接运行。这一点至关重要:启动几乎没有延迟,不需要额外环境,发布就是一个二进制文件。项目最新描述也直截了当地写道:

No runtime. No Electron. Just native binaries.

如何快速上手(5 分钟跑起来)

想体验 Perry 的话,门槛其实比想象中低很多。现在推荐的最简方式是通过 npm 直接安装:

npm install @perryts/perry

然后编写一个最简单的 TypeScript 文件:

// hello.ts
console.log("Hello Perry");

直接编译运行:

npx perry compile hello.ts -o hello
./hello

现在,你已经获得了一个真正的原生可执行文件。如果不想安装,也可以“一次性执行”:

npx -y @perryts/perry compile hello.ts -o hello

环境要求(很容易踩坑)

有一个点需要特别注意:Perry 依赖系统的编译工具链来生成二进制文件。

  • macOS:安装 Xcode Command Line Tools
  • Linux:需要 gcc / clang
  • Windows:需要 Visual Studio Build Tools

它怎么做跨平台?

很多人第一反应是:“那 UI 怎么办?”

Perry 的做法相当激进——直接使用各个平台的原生 UI。macOS → AppKit,Windows → Win32,Linux → GTK,iOS / Android → 各自原生框架。编写类似下面的代码:

App({
  title: "My App",
  body: Text("Hello")
})

在不同系统上,会被编译成完全不同的实现:macOS 变成 NSWindow、NSTextField,Windows 变成 HWND、系统控件,Linux 走 GTK 组件。最关键的一点在于:这些转换发生在编译阶段,而不是运行时。也就是说,程序跑起来的时候,基本上已经是“纯原生形态”了。

它和 RN / Flutter 的关系

许多文章喜欢把它们放在一起对比,但实际上它们不完全是一个层级的东西。

RN / Flutter 更像“UI 框架”,Perry 更像“语言 + 编译器”。可以这样理解:RN 用 JS 控制原生,Flutter 自己绘制 UI,而 Perry 直接生成原生程序。它更接近 Rust、Go 这一类,而非前端框架。

写在最后

Perry 做的事情很纯粹:把 TypeScript 从“需要运行环境的语言”,向“可以直接生成程序的语言”推进了一步。如果你对跨平台开发感兴趣,不妨亲自试一试。

来源:https://www.51cto.com/article/841228.html
上一篇Claude Opus仅需2283美元将漏洞转化为可利用攻击代码 下一篇揭秘.NET中API调用的幕后执行过程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
台式机加装固态硬盘怎么选?三星9100 PRO深度解析
业界动态 · 2026-09-01

台式机加装固态硬盘怎么选?三星9100 PRO深度解析

台式机升级存储常受限于系统启动慢、游戏加载卡顿与大文件传输延迟。本文基于三星9100 PRO的PCIe 5 0架构、14800MB s读取、13400MB s写入、2200K 2600K IOPS、1TB~8TB容量、第八代V-NAND与5nm主控、镍涂层散热与DTG技术、散热片版适配及魔术师软件,提供选购判断与安装兼容性要点,帮助读者评估是否值得一步到位升级。

宁德时代2026年中期分红61.8亿元,同比增35%,创历史新高
业界动态 · 2026-09-01

宁德时代2026年中期分红61.8亿元,同比增35%,创历史新高

宁德时代发布2026年中期分红方案,总额达61 8亿元,同比增长35%。本文梳理分红具体安排、历史对比、业绩支撑及分红机制,帮助投资者评估公司现金流实力与股东回报策略。

企业硬盘报废销毁合规指南:如何选择专业机构与处理流程
业界动态 · 2026-08-31

企业硬盘报废销毁合规指南:如何选择专业机构与处理流程

企业硬盘报废面临数据复原与合规风险,需选择具备资质且流程透明的专业机构。本文解析行业乱象,介绍以团体标准为核心的合规销毁流程,涵盖上门收运、消磁粉碎、视频溯源及尾料处置,帮助企业规避泄密责任,确保数据安全闭环。

机密文件销毁找什么机构?认准团标参编与资质合规
业界动态 · 2026-08-31

机密文件销毁找什么机构?认准团标参编与资质合规

机密文件销毁找什么机构?核心在于甄别服务商是否具备正规保密资质及是否参与行业标准制定。本文解析《商业秘密及敏感信息载体销毁通用规范》团标要求,提供筛选销毁机构的实操指南,帮助企业规避数据泄露风险,确保销毁流程合规可溯。

影石Insta360 X6全球首销登顶:8K全景画质与AI创作功能解析
业界动态 · 2026-08-31

影石Insta360 X6全球首销登顶:8K全景画质与AI创作功能解析

影石Insta360 X6全球同步发售即登顶国内外主流平台销量榜首。本文解析其搭载的索尼定制方形大底传感器、4nm AI三芯架构及8K50fps画质,详解3D时光舱、AI导演等独家功能,探讨全景相机从专业工具向大众智能创作设备的演进趋势。