前端学习指南

原文地址:http://www.cnblogs.com/dolphinX/p/5181660.html

这篇文章只对接触前端不到两个月,觉得一堆东西要学,但又不知道从何开始的同学有用

写在最前面

前端学习比较好上手,但到了一定阶段深入却比较困难,一个合格的前端应该是个web工程师,而不是JavaScript程序员,因此简单的学习目标

  1. CSS、CSS3
  2. HTML、HTML5
  3. JavaScript、ES6
  4. HTTP协议
  5. 性能优化
  6. 一门后端语言
  7. 更好的方式写代码
  8. 线下开发和代码发布

学习路径比较长,对于初级学习有些合理的路径

  1. 学会 Markdown,平时多写文档

  2. 坚持写博客,收益绝对超出你想象,但要写在大众的地方,不要自己搞个网站,否则没人关注,渐渐就没了兴趣

  3. 了解一下GitHub,让你的代码不在停留在本地。也许这两篇教程可以帮着你理解Git语法 git - 简易指南、Pro Git

CSS

很多初学者认为前端难在JavaScript,CSS和HTML比较简单,这种观点有一定道理,CSS和HTML的语法比较简单,但运用的好可以帮我们减少很多JavaScript代码

对于CSS的学习常用属性的了解 w3school就不错,但CSS有几个核心知识一定要非常了解

  1. position和z-index
  2. display
  3. float
  4. margin

这几个会附带BFC啊什么的一堆相关知识点,每个属性的值含义都要非常清楚才行

MDN上有很多基础知识的文章,很全面,例子也很详尽 CSS入门教程,实在是学习的好材料

另外CSS的一些布局技巧也需要掌握,圣杯布局双飞翼啊,听起来很玄妙,不妨从最简单的开始 学习CSS布局

张鑫旭大神也教我们如何做人 说说CSS学习中的瓶颈

对于CSS3也是要了解的,有几个常用的

  1. 变形
  2. 动画
  3. 圆角、阴影
  4. box-sizing
  5. flex

HTML

HTML学习基础还是推荐 w3school 和 MDN

HTML5看场景,如果是移动端,应该开始全面掌握了,PC的话也有几个常用的,能做到兼容或者退化的

  1. localstorage & sessionStorage
  2. history API
  3. placeholder
  4. postMessage
  5. requestAnimationFrame
  6. 自定义属性 data-*
  7. audio & video 标签

全面了解的话 MDN依旧是个好去处

JavaScript

网上有很多JavaScript方面的教程,但对于初学者基础还是比较重要,否则都没有筛选教程的能力

我强烈推荐 JavaScript高级程序设计,不要被书名吓到,这真的是一本由浅入深的学习书,值得所有基础不好的同学读三遍,每次肯定有新收获,而且书的后面有很多高级些的技巧

JavaScript权威指南做工具书更合适一些

jQuery就不多说了

关于ES6看看阮一峰的 ECMAScript 6 入门,最近还改版了,有余力的同学可以买一下书支持阮老师

另外阮老师的博客里入门教程类的干货真心不少,挑着读读

几个基础知识

HTTP

HTTP很难去介绍这是什么,但是非常重要,尤其是对入门后的进步阶段,建议不要在网上找教程了,直接推荐两本书

对计算机体系不是很了解的可以先看本轻松的 图解HTTP

几个基础知识

  1. URL 组成
  2. 状态码
    1. 200
    2. 301
    3. 304
    4. 307
    5. 403
    6. 404
    7. 500
  3. HTTP 方法
    1. GET
    2. POST
    3. PUT
    4. DELETE
    5. HEAD
    6. OPTIONS
    7. TRACE
  4. HTTP 首部
    1. cache-control
    2. connection
    3. date
    4. accept
    5. if-Modified-Since
    6. if-Match
    7. ETag
    8. content-encoding
  5. cookie & session

HTTP权威指南也很不错,但预读有一些难度

进阶

前端天地无限广阔,关于进阶那就百花齐放了,有几个流行的领域

预处理

Sass、Less

模块化

CommonJS、AMD、CMD

工程化

gulp、webpack、NodeJS

MVVM 等框架

React、AngularJS、Vue.js

最后

前端面试几乎都会问的两个问题

  1. 性能优化
  2. 从输入 URL 到页面呈现发生了什么

这两个问题相当于开卷面试,不同水平的同学给出的答案截然不同,也没有标准回答,关于性能优化可以从几个大的角度回答

首先你必须看过关于性能优化的雅虎军规,没看过可以看看园友的解读 毫秒必争,前端网页性能最佳实践

  1. 针对浏览器渲染页面原理的 CSS、JavaScript 语法层面优化
  2. 针对 HTTP 协议特性网络性能优化(合并资源、压缩、多个域名等)
  3. 用户体验层面性能优化(懒加载之类)

在现在计算机运行速度下,只要代码写的不是特别过分,第一点对性能优化能做的很少,我们使用了更好的语法也不会对网页提速很多。
第二点是必须要做的,儿第三点现在主要成了性能优化的主要发力点

其实前端和所有计算机工作一样,终极目标都是解决问题,千万不要沉迷于框架或者语言的无谓之争上。各种知识层出不穷,耐心享受吧

你可能感兴趣的:(前端学习指南)