在个人印象中,一提到软件工程,首先不会想到的是前端这一块,大概是由于以往工做偏向的缘故。这两年最大的感触就是前端发展的很快,时下的前端开发也远非从网络中抠一段jQuery代码就能搞定功能这么简单。前端
AJAX的出现第一次将前端的请求异步化,局部刷新使用户体验提高了一大截。NodeJS的出现则将前端的发展推向了高潮,一大批基于V8引擎、基于NodeJS之上的开发工具脱颖而出,极速的提高前端开发的效率、效果。webpack
下面从几个方面,来梳理下近阶段关于前端的一些思考,仅供参考,欢迎在留言区讨论。web
前端工程师岗位编程
但凡是有点规模的团队,先后端分离开发是必然的。前端开发岗们以前可能是由后端开发人兼职,由网页制做人员将静态效果制做完后,交由后端开发人员将动态功嵌入进去。如今这么作的团队也有,固然这样效率不是最高的。前端工程师独立岗位的出现,将前端工程化带近了一步。这一部分专职从事前端开发,而无须再关心后端数据如何组装、如何处理、如何存储,将更大的精力投入到终端展示上面。gulp
面向浏览器编程后端
(以前一直准备写篇文章叫“面向工资编程”)这个词确实是最近一个月才接触到新名词,被ie6折磨过的朋友相信很能体会背后的意味。各类浏览器终端的出现,且很多以未遵照JS/CSS规范的形式出现,致使开发终端展示时不得不考虑各类浏览器、浏览器的不一样版本的兼容性。时至今日,前端技术的发展亦足以解决这个问题。Babel的产生,编程时只关注语言便可,在构建时,由其产生低版本JS以知足低版本的兼容性。PostCSS的面世,也使CSS开发时无须担忧多版本、多种类浏览器的兼容性,好消息时,各家浏览器也在积极的向规范、向标准靠拢,以使终端展示可以更加一致。前端工程化
开发效率浏览器
一大批时下优秀的JS开发框架、脚手架,将JS开发提升到了史无前例的高度,用纯jQuery的朋友都少了吧,开始转向Vue、React、ng2的怀抱了吧。Yoeman、Vue-cli等脚手架工具,可让你轻松搭建一个前端项目。CSS预处理、预编译框架更是将这个弱编程的语言中加入了编程能力,less、sass已经在不少项目中采用。任务处理器更是极大的解放了人力,gulp、webpack几乎成了现代化前端开发的必备。本地化开发时,经过事件监听,直接热部署将结果呈现到终端,而无须在反复刷新页面、清缓存刷新页面。Mock的出现更是将前端开发与后端开发隔离,再也不相互掣肘。缓存
模块化组件化sass
提到工程化总离不开模块化,提到了模块化,彷佛组件化也颇有必要,这是个一环套一环的依赖。但实施起来亦是至关不易,特别是有期限项目性工程,交付第一,交付结束如无后续升级,基本不会进行模块化组件化优化。产品化项目比较适用,随着功能迭代推动,模块化更有利于开发解耦,提升复用性,对后期维护也很友好。
Node的出现,使模块化更加简便,你会发现模块化项目中,require、import、export应用的如此频繁,CommonJS,AMD/CMD在ES6以前在模块化研发起着比较重要的做用。ES6中更是原生就支持模块化,(ECMAScript简称ES,JavaScript只是ES的一种实现方式)