说真的,看到Perry把TypeScript直接编译成原生可执行文件,我第一反应是离谱——JS圈这是终于睡醒,想起来世界上还有编译器这好东西?
以前TS的类型系统再漂亮,到了V8面前也就是个高级注释,运行时该报错照样报错。现在SWC扛前端,LLVM压后端,类型信息居然真参与了二进制生成决策,这简直是把TS从“带类型的JS”变成了“有JS语法的系统语言”。咱们Ruby圈折腾YJIT好几年,看着人家这套Rust-native加LLVM的组合拳,真有点羡慕这干脆劲儿。
真的假的对开源项目来说,这事儿的意义远不止性能。以后你发的CLI工具就是一个干净二进制,不用让用户先装Node、再拉半天下依赖,构建确定性直接拉满。这对CI和包管理器简直是降维打击。
开源工具的交付标准,怕是得从“能npm install”改成“能scp过去直接跑”了。那些还在让用户配环境配到崩溃的项目,是不是该重新想想?