4.2.1.0 序言
为什么是这个课程
省流
前端知识碎片化,现有教程太多容易迷失,这个教程是一个导读,旨在快速入门现代前端技术栈。
现在(2024 年)看过来,前端的教程不是太少了,而是太多了,网上打开铺天盖地的教程,各种课程,学习路线,书本,资料,文档,网站,视频,应有尽有。
按照道理来说,有这么多教程,这不是重复劳动么,我这里应该是在 “重复造轮子”,难道直接推荐课程不好吗?
但是这些教程太多了,而且都比较分散。怎么样有个体系呢?更难过的是,前端本身就是一个很碎片化的体系,内容多而且杂,新手入门的时候很容易迷失在教程的海洋里面。
新手可能今天看了个网课学了个三件套,结果发现别人都在用 Vue/React, 又冒出了一个叫 NodeJS 的东西,疑惑这个 npm 和 yarn 是什么关系,以及怎么蹦出来一个 TS, 难道前端不是用 JS 写的么?还有另外一个 JQuery 是什么东西,怎么还有个 JSP,这个和前面又有什么关系?如此种种。
其实这个课程的目的,也不是为了写一个完整的教程,更多是一个现代前端技术导读,实际过程中可能还会外链已有的教程(并且限时看完,haha),某种意义上也是一种资源复用了。
同时,为了减少大家的选择困难症,这里会使用统一的技术栈,并且直接无视很多相对不那么现代的技术,说的就是你 JQuery。
为什么不是某某中文网
我们存在很多格式类似某某中文网的网站平台,有着一些教程。为什么不是他们呢?首先他们通常缺少积极维护,知识没有更新。但这还不是一票否决的理由,重点在于初学者看不懂。
为什么不是纸质书
有一本机械工业出版社出版的大厚黑书压课桌确实有种厚实感,可惜我们前端这几年算是没希望用上了。
即使是入门技术,变化也非常快。一本 2018 年出版的纸质书上记载的 “新技术”,放到我们现在已经过时了。
而且前端技术不同于其他领域,本身并没有那么多固定不变的 “原理”“基础知识” 需要掌握,而且恰恰颠覆了很多的基础,其中最大的颠覆就是把网页的地位由文本 (Text) 变成了应用 (Application),而把浏览器作为一个渲染工具使用。当书上还在不厌其烦地讲解 HTML, CSS, JS 的文本渲染和逻辑分离的时候,现代前端框架已经废除了 HTML 的主体地位,将其变成类似渲染控件的元素。
为什么不是网课视频
我们知道有非常多很火的网课视频,而且大家也很喜欢看,我们有些同学也是通过这样的视频入门前端的。
用视频做入门其实无可厚非,因为视频相对于文本而言更容易理解,跟着敲代码也有动力。
但是有一点,这类的视频讲解的知识点都是入门的基础知识,非常地简单,如果有计算机使用基础打底,即使直接看文档学习,理解上也不会有很多困难,而且更快一点。所以为什么不这么做呢?
了解前端三件套,MDN 足矣。了解某个库 / 框架的使用,为什么不看看官方文档呢?(当然有些框架的文档挺不做人,还好新手暂时不用接触)
还有更重要的原因:他们没有开全图。通过一个个分立的课程的学习,你还是不知道前端到底还有什么,还可以怎么做。缺少一个完整的自顶向下的导读。
为什么不是 freeCodeCamp
freeCodeCamp 是一个教程集合网站。它最大的卖点是 “闯关式” 编程。它很动态,打开教程就能敲,可以随时看自己的代码的运行情况。这种课无疑是很有成就感的。
这个网站很酷,每个课程都很不错,不过前提是你要明确自己需要学什么。不然就会回到一开始的问题。以及他们有很多优质内容只有英文版,可能会有一些障碍。这里我们会作为拓展内容推荐。
为什么不是 MDN
MDN Web Docs 是非常优秀的前端入门材料,详细地手把手教你怎么入门前端,也是我之前向很多人推荐的文档。但是从他们的学习反馈上面看并不是那么理想。
我在研究之后,发现 MDN 的内容中心主要放在以 HTML 为重心的传统前端技术栈(这里的传统指的是传承了前端传统,而不是过时),对现代前端技术栈的介绍放在传统技术栈之后。而很多同学在学了 JS 章节了解 DOM 之后就停下来了,没有继续往下读下面的内容,导致没有学到现代技术。
重心放在传统前端这是无可厚非的,因为 MDN 不讲,那传统前端就真的没有新手友好的现代教程了。而新的技术栈则有他们自己的教程,MDN 也只是做了导读。这个导读的内容比较短,导致很多同学认为它不重要就没有去学。其实 MDN 的 Web Learning Area 的每个章节的每篇文章都是要看的,包括这些文章外链的教程也需要阅读。
考虑大家的精力有限,完整阅读 MDN 这样的大部头也是有点耗费精力。这个教程就在这个基础上进行了偏向现代前端技术的拓展和改编。
这个课程适合我吗
省流
也许不适合每个人,但是为什么不尝试呢?即使看不懂也可以看看推荐的阅读材料。
这是一篇非常个人的教程,掺杂了很多个人的理解和技术选择。所以也许不是对每个人都合适。
但是这篇教程的好处是:它只是个导读。我会告诉你要学什么,至于具体的知识,可以选择不同的方式去学。反正前端的教程那么多,多读几篇也学会了。
不过这个教程的节奏还是很快的,为了保持节奏也做了很多比较偏离传统的顺序安排。如果跟教程有障碍,可以先去学习其他教程,再回来看看是否已经学会了这个课程要求的知识点,并且完成 Lab,这个项目值得尝试。当然其他等价的 Lab 也是可以的。
我应该如何学习
需要主动思考,主动学习。在遇到看不懂,不会用,不理解的东西的时候,一定要主动去寻找材料,想办法弄懂,而不是放下来,或者直接无脑问别人。这点可以参考:提问的智慧 这篇文章。
这里不会有人为你标出 “重点”“难点”“考点”“得分点”,因为你的高中老师是拿工资的,但是你的学长 / 同学显然没有人给钱去标各种 “点”,而大学也没有那种 “主线任务”。更重要的是,你需要面对的不是试卷上给定条件有标准答案的问题,而是现实世界的复杂问题,它不仅没有标准答案,甚至有可能没有答案。那么这就需要个人自己发挥主观能动性,作为一个独立的个体去自己思考。不过这里扯远了,只需要记住一点:多思考自己学了什么,还需要学什么。
那么,话不多说,接下来就进入前端速通学习。