[译] 尤雨溪:Vue 3.0 计划
Vue 2.0 恰好在两年前发布了(时间过得真快!)。在此期间,核心仍然向后兼容五个次要版本。我们已经积累了许多可以带来改进的想法,但一直没有发布它们(3.0),因为它们与现在的版本(2.x)相比,变化很大。与此同时,JavaScript生态系统和语言本身也在迅速发展。有了需要新的工具可以增强我们的工作流程,以及出现了许多新的语言功能,可以解决Vue试图解决的问题。并且有了使它变得更简单,更完整和
Vue 2.0 恰好在两年前发布了(时间过得真快!)。在此期间,核心仍然向后兼容五个次要版本。我们已经积累了许多可以带来改进的想法,但一直没有发布它们(3.0),因为它们与现在的版本(2.x)相比,变化很大。与此同时,JavaScript生态系统和语言本身也在迅速发展。有了需要新的工具可以增强我们的工作流程,以及出现了许多新的语言功能,可以解决Vue试图解决的问题。并且有了使它变得更简单,更完整和更有效的解决方案。更令人兴奋的是,我们看到ES2015支持成为所有主流浏览器的标准。Vue 3.0旨在利用这些新的语言功能使Vue核心更小,更快,更强大。
Vue 3.0目前处于原型设计阶段,我们已经实现了与2.x相近的特征基本相同的运行时了。下面列出的许多项目已经实施或确认可行。尚未实施或仍处于勘探阶段的标记为*。
细节
高级API更改
L; DR:除了渲染函数API和作用域插槽语法之外的所有内容都将保持不变,或者你也可以通过兼容性构建使其兼容2.x版本。
因为这是一个新的版本,所以会有一些突破性的变化。但是,我们非常重视兼容性,因此我们希望尽快和大家沟通这些更改。以下是当前计划的公共API更改:
1、模板语法将保持99%相同。在scoped slot语法中可能会有一些小的调整,但除此之外我们没有计划为其他的模板语法更改任何其他内容。
2、3.0将原生支持基于类的组件,而且无需借助任何编译及各种 stage 阶段的特性,以此提供良好的编写体验。大多数当前选项在基于类的API中具有合理的映射。还可以选择使用Stage-x功能(如 class 的静态字段和装饰器 (decorator) 等仍然可以选择性地使用,以此增强编写体验)来增强创作体验。此外,API在设计时考虑了TypeScript类型推断。3.x代码库本身将使用TypeScript编写,并提供改进的TypeScript支持。(也就是说,在应用程序中使用TypeScript仍然是完全可选的。)
3、2.x 系列的基于对象的组件格式仍将受支持,不过会在内部将其转换为一个相应的类
4、 仍然支持Mixins。*
5、顶级API可能会大修,以避免在安装插件时导致对Vue运行时的修改。相反,插件将应用并作用于组件树。这样可以更轻松地测试依赖于特定插件的组件,还可以使用不同的插件在同一页面上安装多个Vue应用程序,但它运用在相同的Vue运行时。*
6、功能组件最终会是普通函数 - 但是,现在需要通过辅助函数显式创建异步组件。
7、将获得最多更改的部分是渲染函数中使用的Virtual DOM格式。我们目前正在收集主流第三方库作者的反馈意见,并将分享更多细节,因为我们对这些变化更有信心,但只要您不依赖于应用程序中的手写(非JSX)渲染功能,这个升级应该是一个相当简单的过程。
更多推荐
所有评论(0)