Web前端开发网

web.fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 文章投稿
  • 关于我们
资源分类
AI智能酷站推荐招聘/兼职框架/库模块/管理移动端UI框架Web-UI框架Js插件CSS相关在线工具建站资源 更多
网站收录 / 问题反馈

Perry

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

Perry
网站地址:https://www.perryts.com
GitHub:https://github.com/PerryTS/perry
描述信息:TypeScript一键编译成多平台原生二进制,直接编译原生App
访问官网
GitHub

Perry 是一个用 Rust 写的 TypeScript 编译器。它能把 .ts 文件直接编译成二进制的可执行文件,就像 C/C++ 或 Rust 那样。

关键点:它编译出来的程序,运行时不需要 Node.js、Electron 或任何浏览器内核。它是一个独立、干净的原生应用。

完整的编译和执行流程如下:

编写 main.ts → 执行 perry compile src/main.ts -o myapp → 生成可执行文件 ./myapp → 直接运行


核心功能:不止是编译,更是一整套工具箱

Perry 的核心功能是编译,但它提供的是一个完整的开发工具箱:

  1. 原生编译能力:核心功能。利用 SWC(Rust写的TS/JS解析器)和 LLVM(强大的编译器基础设施),将 TypeScript 编译为原生机器码,启动速度和性能远超需要在运行时解释或JIT的框架。

  2. 跨10大平台编译:一套代码,通过 --target 参数,可编译到 macOS、iOS、Android、Windows、Linux、Web、WASM、tvOS、watchOS 和 visionOS 10个平台。

  3. 直接调用原生UI:它有一套自己的声明式UI系统 (perry/ui),不是网页套壳。代码编译后,在 macOS 上会调用 AppKit,在 Windows 上用 Win32,在 Linux 上用 GTK4,在 iOS上用 UIKit,是真正的原生控件。

  4. 自带标准库与npm包支持:内置了 fs, path, process 等 Node.js 核心API。更酷的是,像 fastify (HTTP框架)、mysql2、ioredis 这些热门npm包,都有用 Rust 重写的原生实现,无需安装 node_modules,直接 import 就能用,性能更高。

  5. 真正的多线程:通过 perry/thread 模块提供真实的系统线程,配合编译时安全检查,可以安全地做并行计算,避免了 JavaScript 单线程的限制。

  6. 生产级配套工具:提供了 perry init(创建项目)、perry doctor(环境诊断)、perry check(检查兼容性) 以及 perry publish(直接打包发布到应用商店) 等完整命令。


产品特色:它凭什么与众不同?

Perry 最大的特色,在于它与所有主流跨平台方案有本质区别:

  • vs. Electron:Electron 本质是打包了个浏览器。Perry 是纯原生二进制,hello world 体积仅约 330KB,而 Electron 起步就是几百MB。

  • vs. React Native / Flutter:RN 通过“桥”与原生通信,有损耗;Flutter 用自绘引擎,UI与系统脱节。Perry 的UI是直接编译成对应平台的原生控件,体验和用 Swift/Kotlin 写的一样。

  • vs. Node.js / Bun:它是个编译器,而不是运行时。在一些基准测试中,它的性能比 Node.js 快数倍甚至最高24倍,比 Bun 也快很多。

它的几个硬核优化包括:利用逃逸分析将对象分配在栈上(零堆分配)、采用NaN-Boxing技术处理数值、内置标记-清除垃圾回收器 (GC),生成高度优化的LLVM机器码等。


应用场景:Perry 适合用来做什么?

根据项目的展示案例和特性,Perry 特别适合以下场景:

  1. 高性能桌面工具:比如其官方案例 Mango(一个仅7MB、内存占用小于100MB的MongoDB数据库GUI)和 Pry(快速的JSON查看器)。

  2. AI与创意应用:官方案例 Hone 是一个AI驱动、支持终端和Git的原生代码编辑器,说明Perry能胜任复杂的交互式应用。

  3. 游戏开发:官方案例 Bloom Engine 是一个用TypeScript写游戏、编译到原生平台的游戏引擎,支持Metal/DirectX 12/Vulkan等现代图形接口。

  4. 需要极致性能的服务端/命令行应用:它的原生编译特性使其非常适合开发对启动速度、内存占用和计算性能有苛刻要求的API服务或CLI工具。

  5. 嵌入式和IoT设备:得益于极小体积和零依赖特性,可以轻松部署在资源受限的ARM、x86等设备上。


Perry 并非以一个“框架”的形态出现,它更像是一把将 TypeScript 提升为系统级编程语言的利器。它展现的性能蓝图与原生能力确实引人注目。

仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://web.fly63.com/nav/5117

更多»
热门资源
React Native
Facebookt推出基于 React 的创建跨平台移动应用开发框架
官网
GitHub
uni-app
使用 Vue.js开发跨平台应用的前端框架
官网
GitHub
Flutter
谷歌推出的跨平台移动UI框架
官网
GitHub
framework7
用于开发接近原生iOS或Android系统外观和体验的 hybrid mobile apps 或 web apps
官网
GitHub
ionic
ionic是一个用来开发混合手机应用的,开源的,免费的代码库
官网
GitHub
weex
阿里推出的Native框架,支持iOS、安卓、YunOS及Web等多端部署
官网
GitHub
Taro
多端统一开发框架,生成能运行在微信小程序、H5、React Native 等的应用
官网
GitHub
React Belle
一个React组件库
官网
GitHub
noUiSlider
一个轻量级的Js范围滑块库
官网
GitHub
mavonEditor
基于vue的markdown编辑器
点击进入
GitHub
fair ui
为Flutter设计的动态化框架
官网
GitHub
react-native-ui-lib
React Native的UI组件库和工具集
官网
GitHub
类似于Perry的资源
Lin UI
基于微信小程序原生语法 实现的组件库
官网
GitHub
labrador
微信小程序模块化开发框架
点击进入
GitHub
NativeScript
一款使用JavaScript来构建跨平台原生移动应用的开源框架,支持iOS、Android和Windows Phone
官网
GitHub
slip.js
通过滑动和拖动手势操作列表的 UI 库
官网
GitHub
微信小程序
一种全新的连接用户与服务的方式,在微信内被便捷地获取和传播,同时具有出色的使用体验。
官网
vue2-elm
vue2 + vuex 构建一个具有 45 个页面的大型单页面应用
官网
GitHub
touchui
高质量移动端UI框架
官网
GitHub
vueg
为Vue应用添加页面间的转场特效
官网
GitHub
目录

手机扫一扫预览

首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架

Copyright © 2018 Web前端开发网 All Rights Reserved. 分享编程学习资源(教程/框架/库)、在线工具、技术教程、内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。