【前言】虽然前端工程化的概念兴起还没几年的时间,但是对于工程化这个词并不是一个新鲜词了,在其他软件开发的领域很早就已经有了高度的工程化,例如Web服务端开发。这篇文章将从下面几个方面入手,对前端工程化的概念做个简单的总结,仅仅是个人理解,希望大家多多交流讨论。
什么是前端工程化?
简单来说,前端工程化可以提升开发体验、提高开发效率和质量、提升应用的访问性能,一切以提高效率、降低成本、质量保证为目的的手段都属于工程化。前端工程化不等同于Webpack,它主要包含从编码、发布到运维的整个前端研发生命周期,把软件工程相关的方法和思想应用到前端开发。
为什么要学习前端工程化?
大家都知道,最初的前端开发只是利用HTML、CSS和JS来实现页面,在一些场景下被认为只是日常的一项简单工作,但随着用户需求的增加,前端开发的复杂度和规模也越来越庞大,在这种需求和规模之下,前端工作已经无法抛开工程化而单独开发了。而如今懂工程化开发已经是前端开发人员的刚需,不懂工程化,甚至连项目都不会启动。前端工程化是前端工程师的必备技能,不管是创建项目还是开发上线项目,前端工程化已然成为行业公认的项目提效主流解决方案,是高级开发者必会、必用的技能。
如何实施前端工程化?
实施前端工程化的基础就是前后端分离,而前后端分离的开发模式是当前主流的开发模式,后端通过接口提供数据服务,而前端工程师则主要负责一下内容:
- 前端展示数据页面的搭建;
- 静态资源和动态资源的处理;
- 利用JavaScript实现前端的业务逻辑;
- 前端项目的部署。 从项目开发的整体环节来说,实现前端工程化还需要熟练掌握下面几个方面:
- 使用webpack实现项目构建;
- 使用Babel完成JavaScript编译;
- CSS预编译;
- 模块化开发;
- 组件化开发;
- 开发环境的本地服务器与Mock服务;
- 规范化约束;
- 项目部署流程化;
前端工程化未来发展如何?
目前,Web前端开发的工程化开发模式正在被开发者使用,使用率越来越高。而且就从最近几年流行的大前端的趋势来看,前端工程化或许会在未来有属于自己的一片新天地。从诞生之初"切图仔"到大前端概念,前端工程师的定位和负责的技术范畴一直在变化,但是前端工程师的服务对象永远是用户。在Node.js之前,浏览器是前端工程师生存的“一亩三分地”,Node.js的出现打破了这个局面,以致出现了“大前端”的发展趋势。无论是专注于浏览器,还是兼顾了Node.js中间层,前端工程师的利剑始终指向的是面向浏览器和用户体验的Web领域,前端工程化所提供的是一种服务,服务对象是不断参与到项目迭代过程中的前端开发人员,服务的内容涉及到开发、构建、部署等各个环节。
随着React Native、Weex、Electron、小程序的发展,前端工程师在未来的定位必然会发生变化,但是前端工程化唯一不变的原则是始终以前端开发为中心,前端工程化没有统一的行业标准,也没有固定的形态,更没有最合理的方案,只要前端工程师的定位还在不断的变化,前端工程化的进程将会一直持续下去。