2018年,前端应该怎么学?

面向2018年,我以为前端有这么三个方向能够突破
  1. 前端逻辑层(包括三大框架,webpack,前端数据管理)
  2. 前端交互层(包括css3,canvas,svg,vr等,以及对应性能优化)
  3. node服务器层 (即服务器领域,以及前端开发工具的开发)
固然还能够说,有electron这样开发桌面应用的,可是我以为大部分人的规划仍是在web领域范畴的。

1、前端逻辑层

前端逻辑层解决的问题:前端的渲染问题。
其实就是,从后端拿到的各类数据(数据库的结构化数据,各类素材),如何组合成页面元素。

前端的渲染,其实就是 模板+数据 = 页面
在模板部分
① html 负责结构
② css 负责样式
③ js 负责逻辑


只有模板没有后端数据的页面咱们能够理解为静态页面
而咱们目前主流的三大框架,则提供 模板与数据之间的映射关系。
在逻辑层的研究,主要就是学习并熟练三大框架: Vue, React, Angular

这一块是咱们90%前端,平常工做的主要部分。也是不少公司面试会去重点考察的内容。
可是,目前的行情已经不是,你会个新框架就能够任性拿OFFER的时期了。
前端的井喷的状况下,仅仅会一些基础知识是不够的。你必须往下深挖。

能够深挖的部分
①框架部分: 举个例子,如 Vue+ Vuex+ Vue-router+axios的全家桶

(react和angular的也相似,有这么一套全家桶。)css

要想在前端竞争中取得优点,须要在这些框架的原理上深挖。
研究: 

a. 源码和实现原理 (理论)html

b. 常见的应用场景和常见问题的实现 (经验)前端

c. 同类问题的横向对比(好比用了vuex 须要了解一下 redux是怎么实现的)vue


②构建部分: webpack + npm/yarn + 脚手架(如vue-cli) +sass
构建部分,实际上是一块很容易出区分度的领域。你研究透一点,你就越能驾驭住项目的变化。
研究:
a. webpack的配置和对应应用场景

b. npm的命令使用,以及一些高级的用法(架设私有npm或者本身写全局包等)node

c. 脚手架快速搭建的过程,以及如何自定义更改react

d. 如何配置eslint和单元测试等webpack


③代码规范部分: es6 + ts + css规范 等等等
代码规范很少说,前端的js和css都是设计得很粗糙的语言。若是你想hold住更大型的项目,那么规范是你不可忽视的地方。

逻辑层部分,是咱们一般意义上理解的前端本职。

2、前端交互层

所谓交互层,能够理解为咱们常说的 特效。
当前的趋势下,移动端浏览器的性能逐步提高。

将来一个大的趋势就是——前端开发的效果,正无限逼近原生效果ios


同时一些大厂也在纷纷提早布局了,以前惊艳四方的天猫造物节 H5

http://www.jianshu.com/p/111ee1fde39f
css3


若是咱们要在这波浪潮上取得先机,那么就必须提早学习。也许再过三年,前端的开发特效的能力,也会成为标配技能。

能够分三块来看

1.呈现效果学习
不少同窗不是不会特效,而是不知道要实现成什么样子。

用前端的各类东西鼓捣了,终于出来了特效,可是效果却很难看。es6

不不不,作特效,应该先把特效样子调好了再去作。

建议学习Adobe Effects (AE),直观地看动效是什么样子,而后再翻译成前端的动效。

2.相关数学/视觉原理:
a.贝塞尔曲线原理 b.视差原理 c.阻尼公式

3.相关技术手段实现

前端目前实现动画特效的八种方式
http://www.offcn.com/it/2017/0110/5881.html

①gif: 设计直接出GIF,前端直接用
②逐帧动画: css3 step属性 或 js制做逐帧动画
③css3 : transition/ transform/animation
④svg : svg 很适合移动端
⑤canvas: canvas适合一些比较大面积的动效
⑥flash 转 canvas : 这个我不了解
⑦video: 用h5 video标签
⑧js动画: 能够配合平台提供的api(重力感应等)开发更复杂的动效

3、node 服务层

node在前端应该是无人不知了。在实际使用中node的使用场景应该有这几个:
① 做为前端构建辅助工具: 如各类脚手架中,常常有node的参与
② 做为服务端作渲染层: 实现接口合并和模板渲染
③ 做为完整服务器: 通常是创业公司中,能够一人搭建起所有web功能。如微信公众号项目等

那么若是要学习的话,要从哪里入手呢?
学习一个新技术,我我的的方式都是

先把原生的文档,快速过一遍,而后学框架。

不看原生的,很容易学一套框架,就是一次学习量。

学习原生知识,可让你学框架速度提高。


框架里面经常使用的:
①express ②koa ③基于以上二者衍生的框架 ④其他框架

我建议新手学习express 框架。理由很简单,易学,使用多,教程多。
我我的想学习的node框架是阿里的egg.js 。

推荐理由是

①大厂开发,面向工程
②经受住了双十一的考验,质量有保障

总结

前端是端工程师,一切特性依赖于客户端。
所以各位前端的同仁,除了上述的功能外,仍是要多留意浏览器以及移动端环境的变迁。
一些相似与 HTTP2协议,PWA,openGL等技术,都随时有可能改变前端的工做方式。

我上面列了那么多,其实我不少都没有学过(手动狗头)。可是除了技术能力,也许如下几个综合能力,对于前端er也是要注意的
①自我规划能力:对于技术领域的趋势的洞察,以及我的对应的学习计划
②快速学习能力:搜索能力(利用网上的各类知识),知识迁移能力
③沟通能力和知识输出能力: 面向产品,以及面向后端,面向社区同仁

前端要学的东西不少,各位同窗共勉~!

相关文章
相关标签/搜索