千锋小编认为过去的5年是前端工程化快速发展的过程,前端生产力得到了极大的发展,框架和工程化工具层出不穷。而近两年前端的发展日益减缓,甚至在大家看来,现阶段前端的发展只是在原有格局的基础上小范围进行升级。前端未来的发展方向究竟是怎样的?

前端将逐渐侵占client端的市场,web或许会借助于sw演变成c/s架构:


这里不是指weex、rn之类,而是藉由serviceworker、小程序等带来的client应用新的形态,win10已经开始拥抱PWA,浏览器正在逐渐把client端的功能移入浏览器(3D、传感器等)。未来前端就是UI界面,无论客户端还是浏览器端,有很大想象空间,随着client应用复杂度的提升,可能会带来新的前端框架。

框架格局应该不会有大的改变,入行门槛正在提升:

当前前端框架和工程化已经可以cover住大部分业务场景的复杂度。除非未来前端应用更加复杂,从而带来新的框架之前,框架格局应该不会有太大变化。对从业者的影响:以前会个react、vue、webpack还值得拿出来说说,现在已经算是普通能力,想脱颖而出就要了解源码。再往后几年,更是普通能力,企业更多的会看中职业背景、学校背景、项目能力、管理能力。靠着学框架转行、跳槽的同学是2014-2018年的幸运儿,这个大门正在逐渐关闭,渴求发展的同学需要重新寻找新的蓝海。

适配端、满足相关业务需求

有屏幕显示互联网的页面的时候,就有了PC前端的需求,随着发展就逐步出现了HTML、CSS、JavaScript
等。出来了移动端的时候,就有了iOS应用开发、Android应用开发、网页响应式适配等等需求。也可以通过设计一套通用的DSL来磨平端的差异,减少跨端研发的成本。比如React其实就有React(适用于
Web 环境)、React Native(适用于移动端)、React 360(前 React VR,用于 VR 领域)、React
Canvas(生成图片)。这种完全脱离端特定规范的DSL设计非常灵活和通用,只要组件化机制设计的好,再提供一套底层的组件和API,同时端上实现样式、事件、功能等解析器就可以实现learn
once write anywhere。

编码效率需要提升

编码效率提升有很多途径。工具层面一般有代码规范和校验工具、Yeoman 类脚手架工具、各种cli 开发工具、VSCode IDE
等。也有海量的库,jQuery、React、Vue、Angular等。规范层面也在推进,从回调函数到Promise到
Async/Await,然后配合Babel抢先用在项目里。也有直接发明新语言语法的,比如TypeScript、Dart等。

发布效率和稳定性需要提升


发布出问题、线上运行老出错也是很头疼的。前端工程化虽然从2014年开始就很火,但感觉也还是比较原始。比如一些自动构建、测试、发布到CDN等,基本还是要自己去研发或者利用开源社区组装。不同于强业务逻辑的后端,前端面向业务领域的单元测试看起来永远搞不起来。线上监控也好像没有变成基建,基本只有大厂的核心业务才会去关注、研发、埋点。