垂直工具链
现代模具中最强烈的本能之一是专业化。
编译时只用一个包。 还有一个是用来粘棉屑的。 另一个是格式化问题。 另一个用于类型检查。 另一个是组件文档。 另一个是编辑支持。
这种本能是可以理解的。小工具更容易发布,更容易更换,也更容易描述。
但还有另一种角度可以理解工具:
不是作为一堆松散的公共设施,而是作为一个工具链。
一旦你开始用工具链思考,垂直整合就不再显得过度扩张,而开始显得更清晰。
我所说的垂直整合是什么意思
在此语境下,垂直集成意味着拥有同一开发者工作流程的多个相连层:
解析
语义分析
合辑
绒毛
格式化
类型检查
语言工具
运行时或捆绑器集成
这意味着这些工具不仅仅是共存。它们设计成通过共享核心理解同一程序。
这比人们有时意识到的更重要。
首要优势:对该项目的一种理解
分散的工具栈最大的问题不仅仅是性能。 这是分歧。
每种工具通常都有自己的:
解析器
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文件的理解
多个工具都从同一中心构建
这种工具链可以更快。 对用户来说,这可能更简单。 这可能更容易推理。
当它做得好时,也能变得美丽。
这不是偶然的美丽。 之所以美丽,是因为设计内部结构完整。