Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 文章投稿
  • 赞助一下
  • 关于我们

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

Perry

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

扫一扫分享

网站地址: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://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的资源
weui
微信官方设计团队为微信内网页和微信小程序量身设计的的基础样式库
官网
GitHub
jquery-weui
专为微信公众账号开发而设计的一个简洁而强大的UI库
官网
GitHub
BeautyWe.js
专注于微信小程序的企业级开发范式
官网
GitHub
ThorUI
轻量、简洁的移动端组件库
官网
GitHub
image-cropper
一款功能强大的微信小程序图片裁剪插件
点击进入
GitHub
vux
基于WeUI和Vue开发的移动端UI组件库,主要服务于微信页面
官网
GitHub
vue-ydui
一只基于Vue2.x的移动端&微信UI
官网
GitHub
Weex Ui
一个基于 Weex 的富交互、轻量级、高性能的 UI 组件库
官网
GitHub
目录

手机扫一扫预览

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

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