【作为一坨6年资深老前辈郑重的劝你千万不要学WEB前端,因为前端一入坑将终身入坑】
老朽几年来的经验也整理的一整套系统的web前端学习教程

北漂6年拿着别人看起来非常优厚的薪资待遇,还经常出去胡吃海喝过着到处旅游的日子,很多人看到后都耐不住性子想要拥有这样的生活,很多人就要问了,为什么过的这么好还劝其他人不要学前端呢?

前端是什么?

web前端的基本工作职责是什么?
入一行,要先知一行。现在这么多人都想转行来做web前端,但其中很多人对这个行业并不是很了解,只是跟风行动。今天我们来看看web前端的基本工作职责是什么,到底是做什么的?
无论任何工作都要做到基本工作职责。首先,你必须是一个合格的“切图仔”,这个叫法不好听,但很形象生动。我们都知道,所有呈现的内容都是基于HTML网页的。如果你的html、css(包括现在的HTML5+CSS3)基础不会,或者不够扎实,都很难再有大的进步,或者你的JS很好,但布局基础不行,还是不能算合格的web前端。其次,前端主要负责实现视觉和交互功能,以及与后端服务器通信,完成业务逻辑。
web前端开发包含面很广,要学的东西也很多。简单点说web前端开发就是做软件开发、微信小程序 、网页设计、网站建设、APP开发、游戏开发这块的。
很多人都担心现在学习前端会不会晚?
我只能告诉你:前端不灭
为什么前端不灭?
2019年了,技术大变革的时代,如果你还不知道5G是啥?那可真说不过去。 那么,5G究竟能干啥?说出来真的会吓坏你。
5G将带来光纤般的“零”时延接入速率,同时将给网络能效超百倍提升,为比特成本超百倍降低,拉近了人与万物的智能互联的距离,最终实现“万物触手可及”。

其实,除了上面这些,5G可以带来的,更多的是那些我们无法预知的新业务。比如5G将对无人驾驶汽车、增强现实AR/虚拟现实VR、无人机工作群等,带来更高清的视频和更高能效,让城市更加智能的物联网。
通俗讲,如果你是游戏玩家,那么有了5G之后,按下控制器按钮后与屏幕上显示效果之间的延迟时间会更短。移动终端上的视频播放会更快、更稳定。视频聊天画质会更清晰,更流畅。
前端前景这么好,为什么劝我们不要学前端?
想学会前端需要先学习 PS 做一个合格的切图仔,然后开始了 W3c ,开始了 html+css 的旅程,直到能写一些简陋的静态页面的地步,当时 html5+css3 正火,于是去学习了一遍,然后发现js 是跳不过去的,于是开始入了js的坑,从此一入坑则深似海,初学js时,那是红红火火恍恍惚惚,还记了上百页的相关笔记,并且也学习了 jq,花了个把月把 ES5 相关内容过了好几遍后,就开始试着使用 bootstrap 等常用的 ui 框架,写了一些页面啥的。
之后全栈工程师这个叫法很火,据说学了node就是全栈工程师了,当时对 node 还没什么印象,于是开始的 node 的学习之旅,由原生,转战至 express 框架,操作mysql数据库,用node链接数据库做增删改查等功能,也写了一些个人项目,例如仿微博啥的。
然而在自己洋洋得意的时候逛逛 github ,突然发现别人的 js 和我的 js 不太一样。原来是啥叫做 ES6 的,还有 webapck ,以及 babel....于是开始入了es6 的坑,不得不说, es6 相关语法 Class 和其他的,以及 es7 提供的async函数与对象解构真是好用...
es6也大概会了,然后顺其自然的就遇到了 MVVM 框架,起初学习 react,跟着教程走了一遍,自己也写了些小 demo ,之后遇到了 vue2 ,框架精简,上手快,于是就入坑了。所以说,说了这么多一直在学习,一直在追逐着前端的脚步,然而,始终都没有追上,到头来你会发现什么都学了,但是什么都没学精。
最恐怖都是你去找工作,公司可能只用jq,而面试的时候上问ps下问react,结果满怀期望进了公司想大展身手,结果他妹的只用jq。
那么如何去提升我们的原生JS 能力呢?
一、初级前端开发千里之行,始于足下!每一个大神都必须经过的道路,夯实基础才能走的更远,站的更高。
1、HTML/CSS网站页面搭建
2、样式文件的行业应用规范
3、HTML5移动端页面开发
4、网页敏捷开发技能
※ 基础阶段开发案例 62个,作业62个,实战项目每期3个
二、JavaScript初级 前端开发的持续热门,很大的功劳要归结于JavaScript的飞速发展。JavaScript是世界上最流行的脚本语言,因为你在电脑、手机、平板上浏览的所有的网页,以及无数基于HTML5的手机App,交互逻辑都是由JavaScript驱动的。
1、ECMAScript核心标准学习
2、DOM高级操作与实战应用
3、BOM高级开发与原理解析
4、业务模型解析与实战开发
※ JS阶段开发案例 36个,作业25个,企业实战项目每期2个
三、JavaScript进阶 在工作中,前后端分离的时代,前后端数据交互以及数据处理尤为重要,同时深挖原理,深入底层,为高级JavaScript开发打好根基
1、AJAX数据交互与JSON数据处理
2、词法作用域&&上下文&&高级业务模块
3、高级函数&&this&&包装对象&&闭包等
4、对象解析与面向对象开发
※ JS阶段开发案例 28个,作业30个,企业实战项目每期2个
四、JavaScript编程精要 随着业务代码越来越熟练,我们开始接触更加深入的前端业务模型,深入原型与设计模式,通过原生开发属于自己的框架
1、原型开发与OOP深入应用
2、高级算法与数据结构之实战应用
3、ECMA5/6新标准学习实践
4、插件封装原理与框架开发
5、高级设计模式(工厂模式 , 委托模式… MV*架构模式)
※ JS阶段开发案例 25个,作业24个,企业实战项目每期2个
五、H5高级项目开发 随着移动换联网的到来,pc端web保有量持续下降。从软件角度来看,桌面浏览器对HTML5的支持高于移动浏览器,最高可达95%;而H5高级开发并不仅仅只是移动端哦
1、高级3D应用场景
2、H5游戏开发与大数据图形处理
3、多媒体APP项目开发
4、WEB APP底层交互设计
5、mobile业务模型封装
6、LBS定位系统实战应用
7、多线程处理与本地存储
8、异步交互与实时通信引擎
9、微信JSSDK微网站实战开发
※ H5阶段开发案例 80个,作业82个,企业实战项目每期2个
六、企业级项目开发 在工作中,并不单单依靠技术实力,还需要有通用技能与项目组协作开发能力支撑,是工作经验的体现。
1、WEB服务器搭建与运维
2、Photoshop切片与Iconfont矢量图标
3、协作开发分布式管理系统 / Git与GitHub
4、项目重构与维护
5、项目测试与性能优化
七、一站式建站系统 一些中小型项目中(门户,博客,论坛,小型商城等),我们需要掌握常见的前端模板开发后台系统,独立完成动态交互整站开发

javascript 是门完整的语言,即便目前大部分应用环境还是在浏览器中,很多人都忽略了这点,往往认为 js 就是个「玩具」。
摆正了心态以后就要确定目标,简单的讲就是你想掌握这门语言到什么程度?每个人的情况不同,这里我简单说说我走过的路。
接触 js 是因为原先我是写 php 的,然后理所当然的会接触到页面(当时还没有前端这个专门的职位)。那时候 jQuery 还没有 1.0 版本,总之感觉一切都那么美好,基本上不用了解很多的 js 就能完成普通的需求了,例如简单的 tab 切换等等。
第二个阶段是熟练了 jQuery 以后,发现需要更深入的了解背后的机制,这可能是由于业务推动的结果,总之你不可避免的开始着手写些原生的 js,getElementById 、 getElementsByTagName 这些生涩的字眼会时常在代码中出现。
第三个阶段开始考虑脚本的性能和可用性,jQuery 这个时候不是你唯一的救命稻草,你这会可能尝试过其他不同的 js 框架,同时对每个框架的风格等有所熟悉,并拥有自己喜欢的编写 js 的风格和方式。
第四个阶段开始阅读框架本身的代码,现在回过头来看 yui 是个不错的起点,jquery 会吓跑很多想尝试这个阶段的朋友。慢慢得在这个阶段中会发现 js 和浏览器会有某种独立的关系,而同时发现 js 在浏览器之外还有另外的一片天地。
第五个阶段就是开始了解 emcascript ,这个时候你应该看了不下五遍的犀牛书,对 emcascript 的定义和陷阱有了些了解,也充分理解了不同浏览器厂商实现 js 引擎的差异,同时开始自己编写自己的 js 框架或者 toolkit。
有关需要学习的资料方面,如果 2019 要到来,非要让我带一本有关 js的书籍的话,那就非犀牛书莫属。