前端研发生态环境构建经验谈前端研发生态环境构建经验谈
摘要:豌豆荚前端团队尝试通过建立一套完整的前端研发生态环境来支撑各个产品线的运转,使工程师可以将精力集
中在具体产品,以产品为中心来制定工作计划。那么如何打造一个这样的研发生态环境呢?
不记得从什么时候起,“生态环境”这个词经常出现在人们耳边,而在IT行业中似乎出现频率更高——所有的巨头公司都
在建设或运营自己的“生态环境”,要形成“闭环”。那么对前端开发来讲,是否也需要有一套自己的生态环境形成一个闭
环呢?那前端开发的生态环境和闭环又应该是什么样的呢?
过去很长一段时间,我们都在探索适合自己团队的发展之路,建立大家共同认可的愿景和发展目标等。这时,首先要
明确的就是,团队的追求和价值观是什么。最初,每次制定全年或季度的工作计划时,除和具体业务相关的工作外,
还会出现提高工程质量、提高开发效率等这样的任务。随着时间推移,我们发现如果前端工程师的工作目标是让前端
工程师们能更好地工作,那么就陷入了一个死循环,因为这个目标很难被具体化,也很难将前端工程师真正的价值体
现在目标中。经过一段时间的探索,我们尝试从所参与的产品本身出发制定工作目标,这样“提高工程质量”、“提高开
发效率”就变成了过程,产品的进步就代表前端工程师的工作产生了价值。
实践后发现这个方向是正确的,因为无论团队内部在做什么都只是手段和途径,而产品本身的改进证明目的达到了。
进而我们开始尝试将整个过程系统化,于是就提到了开头所说的前端开发的生态环境和闭环。如果按照环境将前端工
程师工作的平台进行划分,将会是开发环境、服务器和浏览器三个在物理上互相隔离的点,而通过一系列工具、平台
和方法论,就能将这三个孤立的点串联起来,形成一个整体(如图1所示)。
图1 前端生态环境形成的闭环
通过这个闭环,特别是从浏览器回到开发环境这个环节,前端工程师会通过具体产品和终端用户进行频繁的信息交
换,在最终的产品中进行信息收集,再将信息转化为指标或其他能够衡量产品质量的形式,以此指导工作方向。
打造前端研发生态环境
接下来,按阶段将整个过程落实到具体的工程实现上,最终的产出是一套完整的工具、平台和方法论。
从开发环境到服务器
开发环境是一切工作的开始,每一行代码都是从这里出发最终deliver给终端用户的,并不涉及到具体业务或产品。当
团队人数增加、项目规模和数量开始膨胀时,很多日常的开发和发布操作就会占用工程师很多的时间和精力,而这些
工作通常又是机械式重复的。为了解决效率问题,自动化是必然的方案。这个环节中大部分的问题抽象后都是工程问
题,也就是通常所说的前端持续集成(CI)。合理的CI过程可以有效提高开发效率和工程质量,提供快速且可靠的持
续交付能力。目前,豌豆实验室的前端CI过程如图2所示。