写点什么

Rome 失败后,VoidZero 成为统一 JavaScript 工具链的最近尝试

作者:Bruno Couriol In

  • 2025-01-10
    北京
  • 本文字数:1050 字

    阅读完需:约 3 分钟

Rome 失败后,VoidZero 成为统一 JavaScript 工具链的最近尝试

Vue.JS Web 框架 和 Vite 构建工具的创建者,Evan You 近期宣布成立 VoidZero Inc.,这是一家致力于为 JavaScript 生态系统构建统一开发工具链的公司。You 认为 VoidZero 不会和 先前目标类似的项目 Rome 一样失败,因为它会继承流行工具链 Vite 中的大量用户群。虽然 VoidZero 会发布开源软件,但该公司本身是由风险投资资助的。


VoidZero 的目标是为 JavaScript 生态系统创建一个开源、高性能的统一开发工具链,涵盖解析、格式化、linting、捆绑、最小化、测试,以及网络开发生命周期中的其他常见任务。虽然说是统一工具链,但却会涵盖开发周期中的特定任务组件,也能被单独使用。


使用 Rust 语言做系统开发可以提升性能。Rust 的原生编译避免了层层的抽象,使其运行速度接近原生速度了。Rust 内存安全的特性 也有利于运行并发任务并更好地利用多核架构。优秀的设计还带来了更高的性能提升,如开发周期中所有任务都只解析一次,且使用相同的 AST。


发布说明中还提到了要为所有 JavaScript 运行时提供相同的开发者体验。目前的 JavaScript 可在许多不同的环境中运行,其中也包括边缘环境,近年来出现的新运行时也反映了这些新的执行环境,如 Deno、Bun、Cloudflare Workers,已经亚马逊的 LLRT。


You 在 推特上解释其愿景如下:


统一工具链所面临的最大挑战是“从零到一”的问题,只有指数级应用的临界质量才能证明继续开发的合理性,但这道鸿沟在真正实现愿景之前很难跨越。

VoidZero 不存在这个问题,因为 Vite 已经是 JavaScript 生态系统中发展最快的工具链。即使是从纯粹的实施进度来看,我们已经超越了 Rome 在过渡到 Biome 之前的进度。我认为,JS 将会受益于统一工具链的前提是毫无疑问的,重点在于执行。


Reddit 上的一些开发者对 VoidZero 的风险投资支持表示担忧。发布说明中提到,企业市场对规模和安全性有特殊要求,针对企业市场的端到端解决方案会让已经发布的开源组件带来潜在收入。由于企业的采用率和企业外部(开发人员的来源)的采用率绑定,VoidZero 得以在一般的开源开发的好处外,保持对其核心产品的免费访问。Trevor I. Lasn 在一片文章中阐述了风险投资的利弊:


(高级功能或企业级解决方案)不一定全是坏事。可持续开源对所有人都有好处,但它确实会引发长期可访问性和潜在锁定的问题。


发布说明的全文可在网上查看,其中包括了更多的技术细节和常见问题的解答。


查看原文

After Rome Failure, VoidZero is the Newest Attempt to Create Unified JavaScript Toolchain (https://www.infoq.com/news/2024/12/voidzero-unified-js-toolchain/)

2025-01-10 16:0010124

评论

发布
暂无评论

挑战30天学完 Python:Day4数据类型-字符串str

MegaQi

挑战30天学完Python 10月月更

什么是数据产品经理?数据产品经理与传统产品经理有什么区别?

雨果

数据产品经理

【从0到1学算法】5.Bubble Sort算法-下

Geek_65222d

10月月更

如何在高性能的前提下,降低数据库存储成本?

OceanBase 数据库

首轮Zepoch节点已售罄完结,你期待次轮吗?

鳄鱼视界

有人意图取代SQL,你同意吗?

雨果

sql

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析03

桑榆

源码刨析 10月月更 C++

Serverless的应用场景

阿泽🧸

Serverless 10月月更

测试需求平台5-Blueprint优化与首个vue页搭建

MegaQi

测试平台开发教程 10月月更

Java三大特性(一)—封装

共饮一杯无

Java 面向对象 10月月更

大数据ELK(二十六):探索数据(Discovery)

Lansonli

discovery 10月月更

一文搞懂Go整合captcha实现验证码功能

闫同学

Go Web 安全 10月月更

华为云从入门到实战 | 负载均衡服务原理

TiAmo

华为 云开发 10月月更

B类纯资金业务的资金安全保障

agnostic

资金安全 B类业务 纯资金业务

【一Go到底】第十五天---continue快速入门

指剑

Go golang 10月月更

「趣学前端」页面上吸顶的效果是怎么做到的

叶一一

CSS 前端 10月月更

前端开发提效小技巧之业务功能篇

叶一一

前端 提高效率 10月月更

「趣学前端」容器上的折角边框是图形吗?

叶一一

CSS 前端 10月月更

趣学前端」为什么有的页面背景颜色是渐变的

叶一一

CSS 前端 10月月更

一文搞懂常见的网络I/O模型

闫同学

网络 网络io 10月月更

一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式

汪子熙

Java 云原生 Cloud SAP 10月月更

「趣学前端」日常浏览的页面为什么可以五颜六色

叶一一

CSS 前端 10月月更

面试官:说说你对Node中的Stream的理解

CoderBin

面试 前端 Node 10月月更

Go-Excelize API源码阅读(二十一)——GetDefinedName()、DeleteDefinedName()

Regan Yue

Go 源码阅读 源码刨析 10月月更

「趣学前端」box-shadow的多重用法

叶一一

CSS 前端 10月月更

浅谈etcd服务注册与发现

闫同学

Go 微服务 etcd 10月月更

【LeetCode】两个链表的第一个重合节点Java题解

Albert

算法 LeetCode 10月月更

Python进阶(二十二)Python3使用PyMysql连接mysql数据库

No Silver Bullet

Python3 MySQL数据库 pymysql 10月月更

Python进阶(二十三)Django使用pymysql连接MySQL数据库做增删改查

No Silver Bullet

Python django MySQL数据库 pymysql 10月月更

Go-Excelize API源码阅读(二十二)——SetAppProps(appProperties *AppProperties)

Regan Yue

Go 开源 源码分析 Excelize 10月月更

Go-Excelize API源码阅读(二十三)——SetDocProps、GetDocProps

Regan Yue

Go 开源 源码刨析 10月月更

Rome 失败后,VoidZero 成为统一 JavaScript 工具链的最近尝试_编程语言_InfoQ精选文章