Vue 作为语言
在“Characterize Vue.js”中,Vue不仅被框架为一个UI框架,更作为描述UI的语言。
这种框架很重要。
如果 Vue 只是一个库,工具可以是围绕 JavaScript 的包装器集合。
如果 Vue 是面向 UI 的语言,那么工具就需要成为一种语言环境。
Vue 组织用户界面知识
Vue文件不是普通的JavaScript加上一点点HTML。
它们通过语言特征组织UI知识:
模板表达式
指令如
v-if、v-for、v-bind和v-on组成边界
螺旋桨和发射器
老虎机
带范围的样式
编译器知情渲染
单文件组件结构
这些都不是随便的便利。它们是为反复出现的用户界面问题命名和规则的方式。
这就是语言的作用。
它们通过赋予人类更好的形状来思考,使领域变得可书写。
语言应有环境
一旦你接受Vue作为一个类似语言的系统,工具链的问题就变了。
仅仅问:
我们能打包吗?
我们能打字检查部分内容吗?
我们能给剧本块贴点棉絮吗?
编辑能高亮它吗?
更好的问题是:
我们能围绕这门语言构建的最强环境是什么?
对于前端语言环境,这意味着:
编译器反馈
绒毛反馈
格式化稳定性
类型检查
编辑智能
组件文档
视觉回归测试
设计系统约束
AI可读诊断
真实项目验证
目标不是做出一个指令,导致所有事情都做得很糟糕。
目标是让环境足够连贯,使每一层都能相互提升。
为什么碎片化对Vue的伤害更大
碎片化在任何工具链中都很痛苦,但Vue让它变得尤为明显。
.vue文件跨越多种语言和关注点:
类HTML模板
JavaScript 或 TypeScript
CSS 和预处理器
框架指令
生成渲染代码
用于模板类型检查的虚拟TypeScript
如果每个工具都看到该文件的不同片段,用户需支付以下费用:
诊断存在分歧
源位置漂移
编译器输出和LINT输出编码不同的假设
AI修复建议针对错误层级
编辑行为与配置项不同
对于Vue来说,最强的环境是将SFC理解为一个整体的产物。
这就是Vize背后的建筑风格。
前端环境应当严格且富有创造性
前端工具存在一个错误的选择:要么让环境变得严格且令人不快,要么变得灵活且不可靠。
Vue一直很有影响力,因为它易于接近。你可以从小处开始,然后逐渐发展成更有结构的结构。
Vize应保持这种精神,同时实现更严格的工作流程:
快速诊断,避免跳过检查
规则精确,使严格性不成噪声
快照,以便编译器更改仍可审查
Musa,使设计系统变得可探索
AI集成,使代码生成获得确定性反馈
使用真实世界的夹具,使工具链能够从生产模式中学习
最强的环境并不是规则最多的环境。
它是规则、编译器、编辑器和设计反馈都支持同一个思维模型的模式。
为什么维兹存在于这个领域
Vize是一个围绕Vue构建环境的实验。
它不仅仅是:
编译器
吊架
格式化机
类型检查器
LSP
组件画廊
人工智能集成点
这是试图让这些表面共享一个Vue感知核心的尝试。
这很重要,因为语言环境的价值不在于工具的数量。价值在于他们之间关系的质量。
当编译者和linter达成一致时,信任度会提升。 当编辑和CI达成一致时,摩擦就会减少。 当 Musea 与静态分析达成一致时,设计系统便可执行。 当人工智能与诊断技术达成一致时,生成将更加安全。
前端现在需要这个
前端开发越来越复杂:
更大规模的应用
更多框架功能
更严格的无障碍要求
更多设计系统工作
更多类型级建模
更多AI生成代码
更多设备和平台的生产表面
答案不能只是“安装更多插件”。
答案必须是更好的环境。
Vue已经为我们提供了描述UI的语言。Vize正在探索如何围绕该语言构建最强大的前端环境:快速、严谨、设计意识强、AI准备充分,并且基于真实项目。
这就是长期愿景。