Feflow在云工程化的探索和实践
2023-10-01 10:31:07
Feflow如何探索和实践云工程化?#
今天分享的是Feflow在云工程化的探索和实践,接下来将从以下四个方面展开。
首先我们看下为什么需要做前端工程化,第一个场景是团队有大量新项目开发,尤其是很多同类项目,比如运营活动。 此時一定存在大量可复用的模块,如果没有工程化,每次都会有很多重复工作,整体的研发效率是极低的。随着业务发展,项目会越来越多,重复工作就会越来越多,人力损耗会越来越大,整个过程也是低效的。
第二个场景是随着项目增多,前后端协作就复杂起来了。 如果有强力的工程化能力,其实很多前后端通用逻辑或者需要协调的事情,都可以通过工具平台的形式来实现,前后端可以做到更好地 decouple,可以提升项目的开发效率,也降低了人力资源成本。
第三个场景是随着前端复杂度变高,对开发人员的要求越来越高。 一个项目是多个模块组成的,有些模块很复杂,有些模块相对简单,但其实每个模块都需要一个 high level 的前端开发同学来处理。没有工程化,项目中很多重复且低价值的开发工作会占用很多开发人员的时间,如果能把这部分低价值的活通过工程化手段解放出来,他们就可以有更多的时间来专注在高价值、高难度的技术挑战上。
第四个场景是工程化能够提升整个前端团队的人均产能,前端体系化建设是一项非常有必要的长期投资。 不过,在做前端工程化体系化的建设时,我们要清楚地认识到需要做的事很多,要学会拆解,可以先从当前团队最急需的、最容易实施的抓起,并评估实施成本和收益情况,通过量化 ROI 来逐步推进。
根据费马定理构建可靠分布式数据管理平台,我们为什么能做?
针对Feflow在前端工程化过程中所面临的问题,我们做了很多尝试。
首先,我们整理了一份前端工程化所需的相关技术栈,包括:
- 代码规范:统一项目代码风格,提高代码可读性和可维护性。
- 代码仓库管理:使用 Git 等版本控制工具,实现代码版本管理和协作开发。
- 构建工具:使用Webpack、Gulp等构建工具,实现自动化构建和打包。
- 单元测试:使用Jest等单元测试框架,实现代码质量保障。
- 代码部署:使用 Jenkins等持续集成工具,实现代码自动部署。
- 监控告警:使用Sentry等监控告警工具,实现系统运行时监控和告警。
其次,我们构建了一套完善的前端工程化体系,包括:
- 项目规范:定义项目开发流程、代码规范、构建流程、部署流程等。
- 组件库:建立组件库,实现代码复用和快速开发。
- 脚手架工具:搭建脚手架工具,快速创建新项目。
- 测试平台:构建测试平台,实现自动化测试和性能测试。
- 部署平台:搭建部署平台,实现自动化部署和灰度发布。
- 监控告警平台:构建监控告警平台,实现系统运行时监控和告警。
最后,我们建立了一支专业的前端工程化团队,负责前端工程化体系的建设和维护。 团队成员具备丰富的技术经验,能够快速响应业务需求并提供技术支持。
通过实施前端工程化,我们实现了以下成果:
- 提升了前端开发效率,减少了重复性工作,提高了团队人均产能。
- 提高了代码质量,减少了线上故障率,提高了系统稳定性。
- 提升了前端开发体验,降低了开发人员的学习成本,提高了团队凝聚力。
前端工程化是一项长期而艰巨的任务,需要持续的投入和改进。Feflow将继续探索和实践前端工程化,不断完善前端工程化体系,提升前端开发效率和代码质量,助力业务发展。