Vize

垂直工具链

现代模具中最强烈的本能之一是专业化。

编译时只用一个包。 还有一个是用来粘棉屑的。 另一个是格式化问题。 另一个用于类型检查。 另一个是组件文档。 另一个是编辑支持。

这种本能是可以理解的。小工具更容易发布,更容易更换,也更容易描述。

但还有另一种角度可以理解工具:

不是作为一堆松散的公共设施,而是作为一个工具链

一旦你开始用工具链思考,垂直整合就不再显得过度扩张,而开始显得更清晰。

我所说的垂直整合是什么意思

在此语境下,垂直集成意味着拥有同一开发者工作流程的多个相连层:

  • 解析

  • 语义分析

  • 合辑

  • 绒毛

  • 格式化

  • 类型检查

  • 语言工具

  • 运行时或捆绑器集成

这意味着这些工具不仅仅是共存。它们设计成通过共享核心理解同一程序。

这比人们有时意识到的更重要。

首要优势:对该项目的一种理解

分散的工具栈最大的问题不仅仅是性能。 这是分歧。

每种工具通常都有自己的:

  • 解析器

  • AST

  • 配置模型

  • 范围概念

  • 框架语义的近似

这造成了一个奇怪的情况,所有工具都在谈论“同一个文件”,但实际上理解的是不同版本的版本。

这正是垂直整合发挥作用的地方。

如果编译、lint、格式化和类型检查都源自同一个代码结构模型,你会得到:

  • 矛盾较少

  • 边缘情况不匹配较少

  • 重复工作较少

  • 更具可预测性的诊断

系统变得连贯。

而连贯性是开发者工具中最罕见的品质之一。

第二个优势:共享工作而非重复工作

分段工具链通常会多次解析同一个文件:

  • 一次编译

  • 一次去绒毛

  • 一次格式化

  • 一次用于类型检查

  • 再次进入编辑器

这在字面意义上是浪费。

相同的语法被反复解码。 同样的关系会被反复发现。 相同的框架语义被反复重构。

垂直集成的工具链可以跨层重复使用工作:

  • 一个解析器为多个工具提供数据

  • 一个AST支持多个输出

  • 一次语义传递支持多种诊断

  • 一个文件模型支持CLI和编辑器的工作流程

这不仅更快。 它在建筑上更干净。

第三个优势:更好的反馈循环

模具不仅仅是最终成果。这关乎反馈。

当堆栈垂直集成时,每一层可以更自然地相互影响:

  • 编译器知识可以提升语言工具

  • 语义分析可以改善棉絮

  • 类型信息可以优化模板诊断

  • 格式化决策可以更智能地尊重框架结构

  • 编辑器工具可以反映与 CLI 相同的事实

这时,工具链不再像一袋命令,而是变成一个单一的工具。

你能感觉到堆栈有这种品质。 诊断结果对齐了。 编辑和CLI都同意。 这些修正是有道理的。 性能并不是在与架构竞争。

第四个优势:降低认知负担

广泛的独立工具表面积通常意味着不同心理模型的表面积较大。

你必须记住:

  • 哪个配置文件控制什么

  • 哪个工具拥有哪个警告

  • 哪个解析器与哪个变换器不一致

  • 哪些插件修补了哪个框架的怪异性

这是现代前端工具的一个隐性负担。

纵向整合减少了这一税负。

不是因为它让复杂性消失,而是因为它把更多复杂性留在系统内部,而不是强加给用户。

这是一种被低估的开发者体验形式。

最好的工具链不仅仅是暴露权力。 它们代表使用者吸收附带的复杂性。

第五个优势:AI工具的坚实基础

这也直接关联到人工智能时代。

当底层工具能够揭示对代码的一致、确定性理解时,人工智能系统会更有用。如果工具链的每一层都说同一文件的不同方言,那么AI就会继承这种碎片化。

但如果技术栈垂直集成,人工智能可以在共享基础之上运行:

  • 结构来源

  • 语义真理的一个来源

  • 一种诊断来源

  • 一个修正机会来源

这不仅提升了自动化水平。 它能提升信任。

那么美丽从何而来?

这部分很容易被归为主观,但我认为很重要。

一个好的工具链不仅有用。它可以很美。

我说的“美丽”并不是指品牌形象或截图。 我说的“美丽”是指设计上的那种:

  • 少量强有力的思想

  • 部分之间有明确的关系

  • 无不必要的重复

  • 无意外矛盾

  • 系统按应有方式拼合的感觉

工具链中有一种美感,格式化器、打印器、编译器和编辑器工具都像是同一对象的不同视图。

那种美不是装饰的。 这是建筑诚实的信号。

水平构图依然有价值

这并不意味着纵向整合总是正确答案。

可组合工具非常强大。 框架无关的基础设施很有价值。 像Vite+Oxc这样的通用生态系统极其重要。

在很多情况下,正确的做法并不是“全部更换”。 它如下:

  • 水平使用坚固的通用基础

  • 构建针对特定框架的垂直集成,实现真正的连贯性

这更接近我对Vize的看法。

Vize不需要拒绝更广泛的生态系统来证明其整合故事的合理性。它可以与通用工具协作,同时又能说:对于Vue专用工作,拥有更统一的技术栈确实有其优势。

为什么这对Vue很重要

Vue 对工具链思维尤其有力,因为.vue文件本身就是一个多层伪影。

其中包括:

  • 模板语法

  • 脚本逻辑

  • 风格块

  • SFC大会

  • 跨越这些层级的框架特定语义

如果每个关注点都交给一个松散关联的工具,这种结构就会导致碎片化。

垂直整合的Vue工具链有机会做得更好:

  • 将SFC视为一个整体

  • 有意协调各层

  • 保持编译器、LINTER、格式化器和类型检查器的对齐

这不仅仅是性能优化。 这是一种概念上的改进。

为什么我觉得它很美

吸引我垂直整合的原因是它尊重关系。

解析器与编译器并非无关。 编译器与诊断工具并非无关。 诊断与编辑器工具并非无关。 编辑器工具与AI工具并非无关。

无论我们是否承认,这些事情都是相互关联的。

分散的生态系统常常将这些关系隐藏在适配器、插件、包装器和重复的基础设施背后。 强大的工具链试图直接建模这些关系。

这种直接对我来说很美。

这就像建筑,结构没有被遮蔽。 你可以看到每个部分存在的原因,以及它们如何相互支持。

这也是Vize的魅力所在

这也是Vize项目对我有吸引力的原因之一。

不是因为每一层都已经完成了。 并不是因为纵向整合容易。 也不是因为某个项目默认应该拥有所有内容。

而是因为以下理念蕴含着强大的力量:

  • 一个解析器

  • 一台AST

  • 一种对Vue文件的理解

  • 多个工具都从同一中心构建

这种工具链可以更快。 对用户来说,这可能更简单。 这可能更容易推理。

当它做得好时,也能变得美丽。

这不是偶然的美丽。 之所以美丽,是因为设计内部结构完整。