什么是前端工程化?

虽然前端工程化的概念兴起还没几年的时间,但是对于“工程化”这个词并不是一个新鲜词了,在其他软件开发的领域很早就已经有了高度的工程化,例如Web服务端开发。只不过那个时候,前端工程师并没有工程化的意识,也没有必要对前端进行工程化的操作,毕竟在那个时期,前端的开发工作只能算是整个项目开发过程中的“附属品”。那为什么这几年,前端工程化的概念又突然成为了热点话题了呢?要想讲好前端工程化其实并不容易,我就从下面几个方面入手,对前端工程化的概念做个简单的讲解,仅仅是个人理解,希望大家多多交流讨论。

1、前端为什么要工程化?

在回答前端工程化这个问题之前,我们应该先考虑另外一个问题:前端开发中会不会涉及到业务?再详细一点,就是前端工程师到底需不需要了解服务端的业务逻辑,再或者说,要不要将一部分服务端的业务逻辑放到前端来实现。这个问题没有标准的答案,实际上应该属于工程协作问题,就是谁该干什么的问题。

最早的前端开发就是实现页面,顶多再写写JS让页面可以有交互的特效。但是随着需求的增加,我们不仅要做Web应用,还要做App、小程序以及各种端。在这种需求日增的情况下,必须得考虑一种新的方式,优化前端的开发工作,例如,解决代码冗余,项目可维护性,提升版本迭代速度等等一系列的问题。前端工程化的概念也就是在这中情况下被提出了。
什么是前端工程化?_第1张图片

2、实现前端工程化的基础——前后端分离

实际上,现在的前端工程化应该还处于早期阶段,毕竟前端工程师这个岗位也才诞生没几年。在互联网发展的早期,Web应用很多情况下都是由服务端工程师一肩挑,前端开发顶多是写写HTML代码,实现页面的布局,然后再把写好的HTML静态文件交给后端工程师套模板,因为当时大部分的Web应用都是使用的服务端渲染技术,例如Java的JSP。

这种传统模式下的协作开发效率非常低,如果在页面测试中发现了一个bug,这个bug是由于一个ClassName的值少写了一个字母,你说这种情况到底是前端工程师的错,还是后端工程师套模板时的粗心大意呢?毕竟一个网站上有成千上万个DOM节点,谁也不能保证一行代码都不会写错。再假如,项目上线后发现网页的实际像素和设计稿上存在1像素的偏差,这个时候就需要由前端工程师重新设计一次HTML静态页面,然后再交给后端工程师继续套模板,等整个流程走完之后,你会发现一个更加严重的问题,整个项目中仅仅是1像素的偏差,就有可能要调动整个开发团队来处理这1像素的问题,极大的浪费了团队资源。

上面的问题

你可能感兴趣的:(web前端,编程语言,web,前端,前端工程化)