源码

其实很多前端程序员在公司做的都是偏业务层面的,根本接触不太到很深层次的,看源码为了提升竞争力可以说是很真实了,但抛去这点,看源码还是奔着几个比较关键的点去比较好:第一,想要学习框架的思想或者你也想自己造框架、造轮子(尤大直播中说非常鼓励造轮子,还是挺好的);第二,为了业务,比如因不熟悉框架的一些原理而在写业务时产生那种不那么表面的问题,主要还是想提升自己的工作效率(毕竟谁也不想对着一个不知道怎么冒出来的bug想一整天,最后发现是自己的对于框架的原理不熟悉而导致使用不当)

对于响应式,Vue3改用proxy来实现,对于开发有什么提升吗?

首先对于开发来说,最大的提升就是可以不用去考虑数组、对象的一些变化了,都可以很好得实现响应式,同时也支持了WeakSet、WeakMap这样的数据结构。

其次呢,proxy实现响应式其实是将一个raw对象(原始对象)包装了一层,产生了一个新的对象,这个对象跟原始对象是不相等的,也就是说,可能会存在原始对象占用内存并且无法释放的问题,所以建议你们在将一个对象声明响应式时,尽量不要用任何的变量去引用原始对象,而是直接将该对象放在reactive中

不太推荐的做法

<script>
import {reactive} from 'vue'
export default {
  setup() {
      let obj = { name: '零一', age: 23 }  // 原始对象
      const state = reactive(obj)  // 将obj包装成响应式

      return {state}
  }
}
</script>

推荐的做法

<script>
import {reactive} from 'vue'
export default {
  setup() {
      // 不再先声明原始对象
      const state = reactive({ name: '零一', age: 23 })

      return {state}
  }
}
</script>

尤大,如何看待程序员从幼稚到成熟

我认为一个凡是会说 「xxx技术是最牛逼的,xxxx技术就是垃圾」 的程序员其实是很不成熟的,因为他们但凡做过很多项目,维护过一个屎山一样的代码,都不会说出这样的话。当然对于一个框架或者技术,你可以说在理论层面做的非常好,但是真正将这个技术落地了以后,都会遇到很多问题的,所以面对真实的业务场景,对于技术是要做一些取舍的,而不是说xxx技术就是最好的

尤大,很多黑子对你会有影响吗?

哈哈,其实久而久之脸皮就越来越厚了(hhh,尤大还是很幽默的),之前看过一句话,大致的意思就是你有了一定的影响力以后,就一定会产生两种极端,一种是脑残粉;另一种是脑残黑,其实完全没有必要理会这些黑子,毕竟谁也没办法做到让谁都喜欢(心态很重要呀!)

尤大,有什么推荐看的书籍吗?

首先我觉得犀牛书还是很不错的,比较适合需要进一步提升自己的人看;红宝书…..(对不起,这里当时直播间卡了,啥也没听到,不过我个人觉得红宝书还是非常不错的,知识比较系统,对新人也比较友好);再推荐一本我觉得非常不错的书(说到这里,尤大直接在屏幕前举起了这本书),书名是《Effective JavaScript》,这本书相对来说比较实际,没有很多的主观看法,也挺适合想要进阶的人看的;再推荐一本德国的xxxxxx写的《xxxxxxx》(对不起,怪我英文不好,作者名和书名都没听懂,也没记下来),适合喜欢研究语言细枝末节的程序员,这本书对js很多犄角旮旯的讲解都很到位

尤大,对于职业规划你有什么看法吗?

其实对于这方面,我没有太多的看法,因为我的路线也是比较特殊,跟大部分人的发展路线也不太一样,所以没有太多的发言权(高情商:哈哈,尤大还是很谦虚的,也很负责任;低情商:尤大的人生路线模仿不来!),之前在Google待了两年,然后又去一家创业公司待了两年,时间不长但也学到了很多东西,后来就去做开源了,可以跟你们聊聊专职做开源的一些看法。
其实做开源挺不容易的,心态要好,还需要一些机遇,Vue也是在用户量这么大的前提下,才能慢慢做起来的。专职做开源比较难,尤其是个人的形式去做,因为在开源与商业化之间的转化其实是比较困难的。其实很多开源项目会去以企业的形式维护,这样他们可以更好得获得众筹或者去为更多的企业提供一对一的支持,而个人的话是几乎没有这样的机会的,即使有,成本也很大,所以只能通过开源产生被动收益(我没有这样的经历,猜测一下应该是获得一些个人赞助或者开源项目官网的广告投放之类的吧)。
对于Vue的话,其实当用户量大起来以后(据说Vue有150w+用户),创造了工作的市场,有了内需,生态就起来了,有些公司也会来赞助一下Vue,当然由此衍生出来,很多人就会产出相关的培训课、教程、模板、线下会议等等,这些都是可以与商业化挂钩的。
还有一点非常重要的就是,你的开源项目产生的价值要有很大的用户感知(翻译一下,其实就是说你的开源项目在平时被大家广泛得使用,家喻户晓的那种)

参考链接

昨晚尤大的连麦直播,我学到了很多!!!