前端历史
作为新人,其实更多的需要了解前端发展的故事。
早期JS的唯一定位:提前验证表单字段,节约带宽
AJAX的出现,局部刷新页面的开始
JS的两大功能定位:DOM 和 AJAX
jQuery 的出现,使DOM操作不再那么抽象,方便快捷,本质没有改变。VUE和React 利用虚拟DOM,根本上使得DOM操作无痛
Promise和Fetch的出现,AJAX有了最佳实践
状态管理的提出。
为什么需要状态管理
目前三大框架(Vue、React、Angular)都非常关注状态管理,其实这也是2017年的一个前端关键词,也是目前各大前端团队在探寻的方向
虚拟DOM让状态管理直接反应到页面上
前端不再关心DOM,进而关心状态
状态越来越多,结构越来越复杂,异步操作越来越多,状态管理成为了必要
过时的那些技术
技术过时,原理和灵感不会过时。
IE 兼容。 从各大流行框架的最新版本已不再支持IE 8可以看出,IE兼容的时代已经过去
Seajs,后来的前端学者应该不曾听说过或不再使用这个东西了
模块定义,曾经的CMD和AMD。ES Modules的提出给模块定义下了定论
Grunt和Gulp,这也应该是后来的学者不再能听说到的历史技术,Webpack的配置在一定程度上比Gulp简单。
jQuery,早些时候,仅仅看单词的拼写就能知道对此框架的了解程度。Write Less, Do More 一直是一代程序员的代码理念。它的思想和原理对后来的开发者启发很大。在一些大公司,jQuery应该上一两年。
AngularJS 1.X 了解到有些公司因为早先的项目兼容,至今还在使用1.X,当然抱怨也不会少。新产品的话,如果选择Ng,应该会用Angular了
工具链整合
工具链整合时代即将过去,所谓分久必合合久必分,18年的前端应该是可以展望一下一个完整的框架出现
在2017年,是前端工具爆发后逐渐整合的一年,其中以下基本达到统一
标准库方面的工具基本统一:lodash、momentjs
构建工具基本统一:webpack
DOM 操作基本统一:虚拟 DOM
工具开发平台基本统一:Node.js
DOM 库基本统一:Vue 或 React
组件化方案基本统一:类似自定义标签的形式(但并不是自定义标签)
CSS 布局方案基本统一:Flex & Grid
还有哪些没有统一呢?
设计思想没有统一:函数式与面向对象混用
CSS 的组织形式没用统一:CSS in JS 怎么用才对,大家都无法说服对方
数据管理套路没有统一:要不要用 Redux 单向数据流、要不要用 Reactive 响应式编程
部署流程没有统一:目前前端的部署都是依附于后台系统,并没有自己的想法
单一入口还是多入口
用 webpack 配置长期缓存还得费一番功夫(这理应是默认配置)
没用到的 JS 代码要不要打包
要不要 HTTP/2.0
等上面几个东西基本统一了,前端的框架时代就会到来了。
这也是为什么后端喜欢 Angular,前端不喜欢 Angular。
因为后端开发人员早就进入了框架时代,无法适应目前前端的工具整合时代。而前端,还不知道框架应该长什么样子,可能未来框架就是类似 Angular 这样的,但是前端从业人员没有到那个地步就无法理解 Angular 的好处,现在用 Angular 就只能用一个「重」字来评价。