当前位置: 首页
业界动态
RN Flutter Electron全被TS一锅端

RN Flutter Electron全被TS一锅端

热心网友 时间:2026-06-08
转载

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

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
雷克沙JumpDrive A50V 行车记录存储新标杆

雷克沙JumpDrive A50V 行车记录存储新标杆

雷克沙推出JumpDriveA50V行车记录U盘,采用USB3 2Gen1高速接口,读取速度200MB s,写入最高70MB s,支持哨兵模式与多路同时录像,耐温范围-40℃至85℃,适配特斯拉、理想等新能源车型,已被理想选为原厂标配存储设备。

时间:2026-07-15 22:01
创邻科技灵机一体机:单CPU驱动千亿模型,开启普惠AI新时代

创邻科技灵机一体机:单CPU驱动千亿模型,开启普惠AI新时代

创邻科技推出「灵机」一体机,单颗主流CPU即可驱动百亿至千亿参数大模型,无需GPU、超频与水冷。搭载RAG和GraphoraX智能体平台,支持150万tokens上下文,性能超越人类阅读速度。以极低成本实现本地化部署,面向中小企业、政府、教育及金融等行业,开启普惠AI算力时代。

时间:2026-07-15 22:01
苹果液态玻璃设计遭抵制:用户批干扰视线,呼吁立即整改

苹果液态玻璃设计遭抵制:用户批干扰视线,呼吁立即整改

苹果液态玻璃设计引发用户强烈抵制,被批干扰视线、影响阅读。测试版存在通知文字不清、控制中心视觉混乱等问题。苹果可能调整,该设计面向未来AR眼镜等产品,部分用户也有积极反馈。

时间:2026-07-15 22:01
时空壶W4Pro凭何成为AI同传行业标杆与引领者

时空壶W4Pro凭何成为AI同传行业标杆与引领者

时空壶W4Pro基于BabelOS系统实现矢量降噪与双向同传,将响应和翻译延迟标准提升。2024年营收破两亿元,出口量年增长超100%,获亚马逊翻译机最佳销量,在商务、教育、文旅场景中落地,推动AI同传从概念变为现实。

时间:2026-07-15 22:01
时空壶T1离线翻译机 解锁无网生活沟通自由

时空壶T1离线翻译机 解锁无网生活沟通自由

时空壶T1离线翻译机依靠端侧AI模型实现无网翻译,支持31组语言对,响应速度0 2秒。具备拍照翻译、三麦克风降噪、eSIM全球流量、12小时续航等功能,覆盖出行、购物、文化探索等场景,实现无网环境沟通自由。

时间:2026-07-15 22:00
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜