# 关于我和 vue

老实讲,在 vue2 的时代,我对 vue 是不那么感兴趣的,我个人更喜欢 react。对比 vue 和 react,个人觉得:

  • vue 的 api 太多太杂,有很多妥协设计
  • SFC 开发模式确实很易于上手,但是深度使用会发现局限性也很大
  • 生态根 react 没法比,到现在都没有一个靠谱的 css in js 方案

碍于国内的前端开发现状,中小公司都会有限选择 vue 进行开发(因为要考虑团队学习成本),所以我才接触并使用 vue 进行开发。

在两年前我做了 react 源码解析之后,就愈发成为了 react 党,因为 react 的 API 真的太简洁来,同时其一切皆组件的理念简直不要太契合我的想法

知道去年 vue3 的 composition api 宣布之后,其和 react hooks 相似的抽象逻辑,让我开始对 vue3 抱有期待(一方面也是 react hooks 确实会有很多让人混淆的地方)。在去年年底 rfcs 定稿之后,我就在跟 vue3 了,随着对 vue3 rfcs 的阅读理解,我越发期待 vue3。

个人对 vue3 的期待集中于:

  • createElement 的优化,其使用更接近了 react,对于 jsx 的支持会更好
  • composition api 的出现终于让我们可以抛弃 this,同时也可以抛弃不友好的mixin
  • 可以不需要声明 props(后被证明是我的误解,有状态组件仍然需要 props)

或者换句话说,可以有更接近于 react 的开发体验了。

其实 vue 一直都有很多相比 react 要好的实现方案:

  • 响应式数据能更精准得进行节点更新
  • 同时响应式数据能减少很多无谓的计算
  • composition api 想比如 hooks 少了非常多的对象声明开销

但是因为 vue 本身出身平民,要想扩大用户量,简单好用是必须要的一个吸引点,所以说实话,我觉得 vue 为了简单好用牺牲了太多的灵活性,这也是在 vue3 中我希望能够解决的。

但是目前看来靠 vue 官方是不太可能解决这些问题的,所以我是有计划 fork 一个新的 vue 的,这也是写这份源码解析的最大动力。

非常希望大家能够跟我一起讨论,能给我指出我的错误,大家可以加微信 ILoveDevelop 我建了一个群大家可以一起讨论成长。

最后,希望我的工作成果能够给你带来帮助,我是 Jokcy,让我们一起打开 vue3 的大门吧。