plqws
2019-06-24 13:10:45 +08:00
我自己本身在大量的项目上使用 Vue,所以更能理解 Vue 之所以吸引人的地方。
- 我要实现某个逻辑,通常只有一种方法,马上就能开工。但是 Vue 3.0 还是之后的版本,则会让人纠结到底要用传统的 API 还是新 API,这个选择的过程就很使人难受,也是一个框架最不应该出现的问题。
- 代码组织轻松,即便是千人万人的团队,写出来的代码基本都差不多。因为基于对象(或者 Options )的组件声明,把组件不同逻辑的编写方法和位置都约束起来了,而基于函数的声明方法给了开发者更大的自由,也产生了更大的不确定性。同时也降低了可读性(开发者需要在 setup() 里到处寻找 value 在哪里,methods 在哪里,分辨哪些是 computed,某个叫做 isEnabled 的字段到底是 value 还是 computed )。
- 基于上面这些优点,随之带来的就是极低的上手门槛,不需要多熟悉 js 的语法糖或者未来特性,就能用 Vue 进行生产。然而在失去上面这些优势后,很难说 Vue 再会是一个亲民友好的框架了,而更像是一个被 React 社区不断影响干扰,而迷失了自我的失败品。
学习曲线陡峭度的提高、代码的可读性的降低、可能会出现的旧 API 被废弃导致的迁移成本,这些都是很可怕的问题。
而且基于函数的 API 的引入,这个改变太过巨大,在某种意义上可以认为这是一个新的框架了。所以为何 Vue 团队不考虑学习一下 Express 与 Koa,从 Vue 中分离出一个新的框架,从而服务那些真正需要这些新特性的高阶用户。毕竟某种意义上,引入这个新的 API,基本上所有现存的插件都要重写,这一点和 Koa 对于 Express 的改变来说,还是很相似的。