新手如何从零开始入门前端开发

新手如何从零开始入门前端开发
  我经常会看到很多同学在学习前端的时候比较迷茫,不知道到底应该以怎样的学习路线来入门和进阶前端领域。每次遇到这种问题我也会分享一下自己的学习经验,但是发现这是一个问得非常多的一个共性问题。
 
  作为程序员,肯定是不能容忍重复无味的劳动的,因此我就系统地总结分享一下我的前端学习路线,希望对你能够有所帮助。我之前其实发过一篇长文 前端开发从入门到进阶完全指南,不用再迷茫前端要怎么学啦。但是这篇内容太长,我现在将其拆分成几个部分,以供不同阶段的同学阅读。
 
  前言
 
  前端学习是一个螺旋上升的过程,既要反复地看书,也要抓紧时间进行实战。只看书,看了就会忘,所以必须将看书和写代码相结合。只要你认真学,入门前端的话三个月左右就可以了。之后我还给出了前端进阶路线,帮助你提升前端技能水平。我把前端入门和前端进阶一共分为六个阶段,并对相应阶段所需要的大致的学习时间进行了标注。
 
  前端入门
 
  入门前端开发主要需要学习 HTML,CSS 和 JavaScript 三大件。之后学习前端主流框架的使用,并基于已学内容开发一个小项目进行实战。当你把这些学习并理解透彻以后,也就算真正地入门前端了。
 
  阶段一:HTML + CSS
 
  前端对于入门者相当友好,因为开始学习的时候你只需要一个浏览器,推荐 Chrome。HTML 和 CSS 可以直接运行在浏览器中,浏览器就是它们的运行环境。你也可以使用编辑器,推荐 VSCode,这是前端开发使用最多的编辑器。
 
  HTML (HyperText Markup Language) 和 CSS (Cascading Style Sheets) 其实并不是编程语言。HTML 中文名叫做超文本标记语言,其实就是一些标签。CSS 中文名为层叠样式表,也就是一些样式的配置。
 
  首先学习 HTML,非常简单。HTML 有非常多的标签,刚入门的时候不要沉浸在记住这些标签中,你也记不住。你只需要整体浏览一遍,知道有哪些标签,各自的作用是什么,整体有一个印象就行了。我推荐跟着 MDN 的 HTML 学习路径[1] 过一遍就行。我学习 HTML 的时候还看过两本书,你感兴趣也可以看一下,这是这方面很好的书了:
 
  《Head First HTML and CSS》
 
  《HTML5 与 CSS3 基础教程》
 
  看完之后可以自我检测一下,例如常用的标签有哪些,<!DOCTYPE> 的作用是什么,哪些标签是行内标签,哪些是块级标签,HTML5 有什么新特性等。这里不要花太多时间,大致过一下即可,不用都记住,之后有需要再回来查就行。
 
  接下来学习 CSS,直接推荐目前最适合 CSS 入门的书:
 
  《精通 CSS(第三版)》
 
  在入门阶段,不需要将整本书一字不差地看完,你只需要抓住几块核心内容,例如选择器、层叠、继承、盒模型、Flex 页面布局和网格等。这些内容快速过一遍就行,太细节的内容不用记,之后需要了再回来查。以上内容用时 6 天左右,其中 HTML 2 天,CSS 4 天。
 
  有了这些基础知识,你就可以进行实战了。这里推荐百度前端技术学院平台,他们这都是开源免费的前端题目,应该是为了培养前端人才,让自己能够招到更合适的人而创建的。他们的课开了四年:
 
  IFE 2015:
 
  IFE 2016:
 
  IFE 2017:
 
  IFE 2018:
 
  现在打开 IFE2018 中的 第五题[2] 开始写静态页面吧。然后你会发现,你根本写不出来。这是很正常的,那你就去看别人的代码,看一点你就开窍了,就知道怎么写了。忘掉的属性就回去查 MDN 或者查我推荐的书,如此反复你就记住了。
 
  写完一个页面之后别急着往下写。你写的第一个页面肯定有很多问题,例如属性使用错误,代码缩进不规范等问题。这时候你应该找一个代码规范,例如 百度前端代码规范[3],根据规范重写你的代码。这个规范我只是举一个例子,自己上网搜一下,好的大公司都有自己的规范,这个不是规定死的,风格统一并且可读性强即可。
 
  重写代码之后,你再去看看别人提交的代码,这个页面是怎么写的,如果身边有技术好的前端,可以让他帮你指点一下。这时候你应该就知道如何写一个页面,并且怎样才能写好一个页面了。然后你可以自己再去找几个题目,写几个页面熟练一下。
 
  以上为阶段一内容,用时 10 天左右。
 
  CSS 进阶:学习 CSS 核心内容不需要很多时间,但其实 CSS 是细节非常深的一个技术。前期不要陷入其中,那么你会问如何深入学习 CSS 呢?我推荐一些很好的权威书籍,基本看这些就够了。
 
  《CSS 世界》:张鑫旭大神的书,十多年的 CSS 经验分享,必买书籍。
 
  《CSS 选择器世界》:张鑫旭大神的另一力作,深入讲解 CSS 选择器。
 
  《CSS 揭秘》:各种 CSS 奇淫巧技,主要是来开阔视野。
 
  《CSS 权威指南》:属于 CSS 的新华字典,很全面,属于一本工具书。
 
  阶段二:JavaScript
 
  学习了 HTML 和 CSS,可以开始学习 JavaScript 了。这也是至关重要的阶段。JavaScript 主要包括语言基础(ECMAScript)、DOM 和 BOM 三部分,如果你是初学者,会想这到底是啥,咋还三个东西。那就开始学起来,学完你就知道啦,其实没那么难。
 
  学习这部分,一定要从现代 JavaScript 教程学起:
 
  现代 JavaScript 教程是 React 官方文档中与 MDN 并列推荐的 JavaScript 学习教程。这个教程解决了现存 JavaScript 书籍最大的痛点:实时性。技术领域的书籍在实时性上一直都存在很大的问题,而这个教程却解决了这个问题。并且它为读者搭建了良好的学习路线,由浅入深,内容足够详细也足够全面,你就按着教程顺序学习就行了。此外,每节内容后,还给出了高质量的课后习题和解析。通过做题可以帮你检验自己的学习效果,并巩固新学到的知识。
 
  教程地址:
 
  学完这个教程,你就其实已经学完了 JavaScript。你可能还听说过 ES5/ES6/ES7/ES8……,其实你也已经学完了,而且还通过这个教程做了很多实战的小例子。教程里还将技术点与实际应用联系起来,让你知道这个知识点在实际开发中是如何使用的,它解决了什么问题。
 
  在学现代 JavaScript 教程的同时,我推荐你买基本权威书籍,其实这些书所讲的大部分在教程里都有,不过可以相互补充取长补短,同时还可以巩固知识点,加深你对 JavaScript 的理解:
 
  《JavaScript 高级程序设计(第 3 版)》:俗称红宝书,只是这本书版本有些旧,第四版预计于 2020 年下半年出版,可以关注一下。这本书前七章讲的是语言特性,一定要掌握。如果你有其他语言的编程基础,理解起来会更快。第 8、10-14、20、21、23、24 章也要重点看,第 25 章的第一节也要看,其他没提到的章节属于非重点的扩展内容,有空就大概读一下。
 
  至于 XML 这种过时的东西就不用看了,书中有大量 API 的章节,不用死记硬背,浏览一下就行,用到再回来查。你一定要先看《现代 JavaScript 教程》再看这本红宝书,因为这里的内容在教程中都有,而且都是最新的,红宝书只是用于复习巩固。
 
  《JavaScript 权威指南》:俗称犀牛书,和《CSS 权威指南》类似,都是大而全的工具书。
 
  《ES6 标准入门》:你一定听过 ES6 或者 ES2015 吧,其实指的是一个东西,就是 2015 年发布的 ECMAScript 规范,发布的一些语言特性。这本书是阮一峰老师的书,是学习 ES6 必买书籍,当然里面也参杂了一些作者的个人理解。
 
  《深入理解 ES6》:尼古拉斯大佬的力作,必买书籍!讲解非常详细且深入。
 
  《深入理解 JavaScript 特性》:尼古拉斯大佬的最新书籍,由李松峰老师翻译,主要讲的也是 ES6 的内容。
 
  《JavaScript DOM 编程艺术》:DOM 必备书籍,本书主要讲的是 DOM 知识,还会带你通过实战深入理解相关知识,很有帮助。
 
  《JavaScript 语言精粹》:俗称蝴蝶书,很薄的一本,里面讲的都是 JavaScript 语言最核心的部分。半天就能看一遍,可以买了反复看。
 
  《Head First JavaScript 程序设计》:这本书对于没有编程经验的新手友好,内容比较简单。
 
  阶段二用时一个半月左右。如果你有编程经验,学起来会轻松一些。所列出的书不用全都看完,而是挑选重点,相互补充着看。对于 API 相关内容不要死记硬背,大概浏览即可,用到的时候再查,多些代码就自然记住了。
 
  阶段三:入门前端框架
 
  学完前端三大件,打好了大树的根基,就可以开始扩展技能树了,开始学习前端框架。前端的主流框架目前主要为 React,Vue 和 Angular。选择哪个框架呢?你可以去知乎或者其他网站搜一搜,然后根据你的个人喜好进行选择。一般是在 React 和 Vue 中选一个。
 
  React 的开发体验更类似于写原生的 JavaScript,要求你有较好的 JavaScript 基础。Vue 则引入了模版,将很多实现封装成了 API,你需要记住并调用 API 来进行开发,因为很多都是封装好的,所以学习起来较为简单,只是编程的感觉稍微弱了一些。
 
  这两个都是非常优秀的框架,新人不必纠结于选择哪个框架,学了一个,另一个也很容易学。如果你不知道选择哪个,我推荐你先学习 React。推荐的学习路线:
 
  阅读 React 官方文档:先学习文档中核心概念部分,然后跟着官方文档写出文档中的井字棋。然后自己写一个 Todo App。
 
  然后学习慕课网 Dell 老师的 React16.4 快速上手[4] 和 React16.4 开发简书项目[5] 课程。
 
  还可以继续选一些百度前端技术学院里的经典题目来巩固 JavaScript 的基础知识和使用。
 
  在这个过程中你会学到很多知识,会用到 React 的高阶知识,那么就把 React 官方文档中的高级指引,API Reference,Hooks 等部分的内容学完。还会学到 React Router,Redux 等内容。会学到从零开发一个完整项目,从项目配置到组件拆分,到项目打包和上线的完整流程,还会学到 React 框架的一些底层源码级知识。
 
  如果你选择了 Vue 框架,学习路线也类似:阅读官方文档,写一些简单的 Demo。然后学习慕课网 Dell 老师的 Vue 2.5 入门[6] 和 Vue 2.5 -> 2.6 -> 3.0 开发去哪儿网 App 从零基础入门到实战项目开发[7] 课程,中间穿插做一些百度前端技术学院的典型题目巩固 JavaScript 的基础知识。
 
  此阶段用时一个月左右。至此你已经成功入门前端开发了,恭喜你 ???
 
  阶段一到阶段三共计用时三个月。

推荐阅读

    python如何使输出换行

    python如何使输出换行,培训,结果,两个,方法,引号,函数,同行,以上,时候,方式

    python如何读取文件

    python如何读取文件,培训,数据,文件,信息,有限,操作系统,对象,磁盘,函数,表

    python如何注释代码行

    python如何注释代码行,代码,培训,位置,注释,信息,内容,中文,程序,声明,语法

    python如何构建字典

    python如何构建字典,培训,数据,数字,字典,实例,以上,括弧,结果,冒号,用字,py

    python如何定义函数

    python如何定义函数,培训,概念,代码,环境,函数,定义,语句,括号,结果,冒号,函

    pythonid函数如何运行

    pythonid函数如何运行,培训,地址,代码,对象,函数,内存,类型,可能会,整数,字

    python如何安装pip

    python如何安装pip,培训,情况,通用,工具,脚本,以下,版本,命令,以上,管理工

    python如何设置编码格式

    python如何设置编码格式,代码,培训,一致,声明,文件,头部,格式,注释,中文,以

    python如何输出质数

    python如何输出质数,数字,代码,培训,质数,情况,自然数,不是,循环体,素数,用

    python输出如何不换行?

    python输出如何不换行?,灵活,培训,函数,对象,方法,空格,结尾,字符,下面,结

    pythonreturn如何定义

    pythonreturn如何定义,培训,函数,定义,字符串,数值,使用说明,语句,对象,以

    python如何运行python

    python如何运行python,代码,培训,系统,语句,模式,结果,提示符,命令,以下,文

    python如何打开文件夹

    python如何打开文件夹,培训,图片,文件,方式,尾部,格式,内容,文件夹,存在,参

    pythonclass如何使用

    pythonclass如何使用,数据,培训,设计,类型,下标,成员,函数,使用方便,功能

    python如何判断素数

    python如何判断素数,数字,培训,情况,代码,质数,素数,自然数,不是,循环体,用