返回 blog
2024年12月27日
1 分钟阅读

悟道

仅以我个人前端成长经验,分享我是如何从“会用”到“会写”

目前我从事前端开发已有5年半,但如今回想,其实前三年,我一直都处于“会用”阶段。

什么是会用

一言以蔽之,就是知其然,而不知其所以然。

会用并不是不好,而是一个必然的成长经历阶段。在这个阶段中,我主要是做这些事:

  1. 扩展领域广度。

了解并使用各种技术栈,不仅仅是停留在基础使用上,而且需要通读官方技术文档。这个过程,让我知道了哪些库好用,哪些库有坑,每个库有什么特色,它们适合应用在哪种业务或者技术场景。这个也为之后技术选型奠定了基础。

  1. 阅读技术文章

在github、掘金上,找干货文章。现在国内社区氛围大不如前,但github仍然是一片净土。许多高手在github上写博客分享干货。阅读不仅仅是扩展广度,也是反思自己、取长补短的过程。

  1. 参与开源

参与开源,而非个人开源。我记得,我第一次pr,奉献给了 antd。虽然代码改动不大,但这是从 0 到 1 的改变。了解如何参与开源项目,如何提交pr,如何按照别人的代码风格、贡献风格来执行 等等。这个过程让我学会了使“用” github,使“用”别人好的规范和风格

  1. 写文章

为什么写文章也是“会用”呢?因为我们开始把吸收到的知识内化,整合,输出,但最初文章一定是基础的、浅显易懂的,未深入原理的。那时候我也有心理负担,“那么简单的东西也要写文章?”。但多写,多总结,这种心理负担就渐渐消失了,因为文章内容也会随着个人进步而进步

  1. 了解工程化

这个可能是大部分前端的痛点,看了 webpack、vite、postcss 等一系列工程化相关的技术栈文章,但依然对它们云里雾里了,只会跟着网上的教程写配置。我想说的是,我以前也是这样的。我想,当初我至少看了20篇关于如何入门webpack,但仍然停留在表面。但是,还是要看,一定要看,没有基础,如何守得云开见天明?你看的所有文章,学到的所有知识,都会在未来的某个时间点,反哺给你,豁然开朗

什么是会写

经历了“会用”阶段了,我们在业务开发上可以独当一面了,但要精进到框架、库、工程化等偏非业务领域,还需要一些磨练。

我大概是这样做的:

  1. 写npm库

在会用阶段,我学会了参与开源,也为个人开源埋下了伏笔。为什么写npm库重要?90%的前端开发都停留在使用别人的库的阶段,但当你思考如何写一个库的时候,你所想的,就不仅仅是自己了,而还需要学会怎么让别人也能用?怎么设计API?怎么设计代码结构,方便别人参与你的项目开发?太多太多细节你需要考虑!

也不用畏惧,最初我们可以照猫画虎,模仿别人,说难听点,就是抄。但抄的不是代码,而是做法。最直接的方式,就是看别人的库是怎么做的,知道它们的项目里每个文件的意义。

  1. 阅读源码

在“会用”阶段,那时候掘金上很多文章解析源码的,受到了社区文章的影响,也多次去读源码,但效果很差。现在想来,我知道为什么了,“没有走过别人的路,就不知道他经历了什么”。如果我们自己写npm库,自己做开源,就会渐渐明白,为什么别人的源码要那样写,那样设计。

如何阅读源码呢?我推荐这样上手:

  • 读流行的、简单的库。从简单的逻辑上手,不仅让我们能学到知识,也极大地增强我们的信心
  • 读框架的周边库。react源码复杂,但react的生态很好,可以去读其流行生态库
  • 读工程化库。rollup/vite,读它们的第一次release代码,那时候的代码往往是核心易懂的

这个阶段非常非常重要,因为我本人就是在这个阶段“悟”到了编码的本质:不过是把一串串字符拼接起来,通过解释器或者编译器,然后执行得到结果。

  1. 设计脚手架或框架

在经历了以上的所有阶段后,自然而然奠定了很好的基础,我们也就利用好这些基础来搭建前端房子了

  1. 学会后端

并不是抢后端的饭碗,而是让我们学会站在后端的角度去思考业务或者技术。可以用熟悉的nodejs来上手,但我更推荐用流行的后端语言 比如 Java golang 来上手,做一个后端玩具项目,知道整个后端项目生命流程中,需要使用到哪些技术栈,这些技术栈是做什么的

  1. 写文章

此处又出现了写文章,但我相信,这时候的你,写出的文章一定跟以前天翻地覆。写有思考、有灵魂的文章,帮助别人,同时也提升了自己。