微前端在平台级管理系统中的最佳实践
作者:杨朋飞
一、什么是微前端
近十年来,前端技术有了长足发展,各种概念与框架层出不穷。从架构的角度来看技术的演进,前后端分离是其中最重要的分水岭。正是由于前后端分离,才衍生出了Angular、React、Vue 三大框架,配合 webpack、babel 等社区开发工具,形成了以框架为中心的 SPA(Single Page Application) 应用开发技术体系。SPA基本上成了中后台前端应用开发的事实标准。
随着技术演进和需求变化,大型SPA项目逐渐变成了巨石应用。打包时间变长、跨团队沟通成本变高、问题越来越多,SPA 在巨石应用中成了甜蜜的负担。
为了解决前端开发过程中巨石应用带来的问题,借鉴后端微服务的思想,把前端巨石应用拆分为多个子应用,让前端子应用具备独立开发、独立流水线、独立部署的能力,并且能够在运行时组合起来。我们将这套策略称之为微前端方案(微前端方案并不是一个具体的技术,而是一系列方案的组合)。
二、什么是通用管理端工程
中原银行通用管理端工程,承担着我行平台级管理系统的角色,为行内各项目提供了一套具有统一的设计规范、前端框架、开发模式和技术栈的模板工程。目前已支持我行几十套内部系统的开发。
开发人员在管理端项目开发中经常会遇到以下两个痛点:
-
实现一套功能完备的用户、角色、权限等管理端的功能,繁琐且复杂。
-
与行内系统、平台、规范、架构等进行对接,需要分别学习了解,费工费时。
中原银行通用管理端工程解决了这两个痛点,让业务方可以只关注于业务开发,为业务赋能提效。