今天,一溜烟儿的前端公众号推前端性能优化,打开一看,都是在推性能优化课,我就在想,今天是哪家培训机构冲量了么?
说到前端性能优化,我之前还被慕课网邀请去做课,只是后来正好碰上要照顾宝宝,给回绝了。我就去对比了当时自己列的大纲和那些所谓的课程,只能哎……现在真是钱好赚,但是都不是我在赚……😭
市面上的那些性能优化课,大部分都是在重复增加加快网页加载,从网络讲到浏览器渲染流程,从CDN讲到构建打包,然后,简单点了一下worker, 缓存,就结束了……结束了?
我想说的是,你学了这样的课,有个X用。作为普通的开发者,你有机会有资格参与项目的网络环境的搭建?参与整体架构的性能侧决策?说真的,你进到项目组的时候,这些东西早都搞好了。你学的这些,项目的发起人负责人早就给你建设好了,约束好了,你还能去决定这些东西?我就不是很懂,这些课有啥实际上的用处。当然,你说要扩展一下自己的知识面,那我也支持你。
作为普通的前端开发者,我们真正应该学的和性能优化相关的,是那些在实际业务开发中,可能天天都要用得上的性能相关的技能。例如vue嵌套组件状态同步时有卡顿现象该怎么解决?例如react重新渲染时有卡顿怎么处理?例如一段代码执行的时候慢引起卡顿怎么去调试和优化?例如构建开发时工具慢应该怎么去优化提效?
只有那些实际开发中会用到的技巧才需要去学习。那些在项目初始化阶段由架构师、负责人解决的问题,能解决的都解决了,你觉得你能提出来的东西,可能实践上早都证明不行了。只有那些天天经手我们自己的代码,让我们自己去优化性能,才有意义。
我这里总结了前端性能优化的方方面面,形成了一个学习大纲。这些知识说实话,都是可以通过自己研究和阅读不同标准、官方文档而获得的,就看你愿不愿意花时间去研究。具体如下:
这个大纲是我过去几年学习和研究前端性能优化相关知识的压箱底干货,每一个知识点都可以从网上去寻找答案。而且,这个大纲只是一个启发性的线索,你可以随着它去发散思维,不局限在这个里面,比如,你的工作场景是使用angular,那么里面用到rxjs,怎么去优化一些计算问题?这些东西都是可以去寻找其中的一些规律的。还有一块,nodejs的性能优化,这里也没有加入,也是非常大的一块。