之家中后台前端解决方案 - 支点2.0

之家中后台前端解决方案 - 支点2.0

前言

去年9月份在组织架构变动后我被划分到了前端应用架构组,手里负责的工作也随之变动,之前负责C端业务陆续交接出去,新接手了一些中台类,基建类的项目,其中就包括 《支点2.0》的建设。 简述一下,支点是之家 23 年启动的基建计划项目之一(当时本人还没来),旨在提升开发效率,降低人力成本,1.0 版本上线推广运行了近一年,发现了诸多问题,下面会写到。我参与到支点建设中去后随即发起了 支点2.0 的升级,参与了 前期用户调研,发掘使用痛点,功能缺失,以及更多的提效点,中期和几位高 P 进行技术调研,需求评审,到后期功能开发,上线推广整个生命周期。

背景

随着团队业务调整我们即将承接大量的中后台业务需求,这些系统由不同业务线的同学开发和维护,存在交互风格不一致技术架构各异的情况。随着业务体量和业务复杂度的不断增大,如何保证业务快速且高质量交付是我们面临的技术挑战。

目标

  • 定性目标 : 提供一整套平台技术解决方案,确保平台建设的易用性、可扩展性,进而提高平台类产品研发效率
  • 定量目标 : 非前端开发同学可 100% 完成技术平台的建设 技术平台的前端单页面开发可在 1 小时内完成,非技术平台的前端单页面开发可在 2 小时内完成
  • 目标人群 前端开发人员,服务端开发人员

基本原则

  1. 高效化、高质化、高可维护性
  2. 基于 React 技术栈
  3. 不造轮子,应用开源社区优秀组件
  4. 高用户满意度
  5. 风格统一

现状分析

Ï

用户调研

结论先行:确认支点组件库的适用性不足以支撑业务的全面发展,需要通过丰富组件库、提升易用性来改善。

24 年 9 月调研了瞭望者前端与后端研发总结如下: 根据与后端和前端研发同学的调研反馈,当前支点框架在实际使用中暴露了一些问题,主要体现在以下几个方面:

  1. 后端团队反馈
  • 组件样式和风格统一性问题: 后端同学希望在使用过程中能够更灵活地自定义组件样式,同时保持整体风格的统一性,避免在定制过程中破坏视觉一致性。
  • 业务组件功能缺失: 部分业务场景下存在组件缺失的情况,具体表现为:
  • 组件缺失: 包括图表组件、数据展示模块和筛选控件等,无法满足复杂业务需求。 基础组件的学习成本:虽然基础 UI 组件已存在,但需要额外配置,部分后端人员对这些组件不熟悉,导致使用时存在一定的学习门槛。
  1. 前端团队反馈
  • 技术选型: 前端开发人员对框架中部分技术选型(如请求库、图表库等)感到不熟悉,认为与自身常用的库存在差异,增加了学习和使用成本。

改进方案

升级底层框架

依赖库版本陈旧,部分版本报警告存在安全隐患。 Vite 5.0 带来诸多新功能和构建效率的提升,但需要对框架多处使用方法做调整。

升级基础设施

  1. 升级 SSO 登录方案,接入更便捷
  2. 升级权限管理方案,实现一套支点的权限管理系统【规划中】
  3. 路由使用方式改造,更便捷
  4. 配合底层框架升级,上层功能调整
  5. 更换数据请求类库到 Axios

支点组件库开发

构建大型组建开发脚手架,统一开发规范。 开发缺失业务组件,提升支点组件覆盖度。

重建支点文档站

目录结构调整增强新手引导、缺失文档编写。

建设页面模板站点

提供类型齐全的业务场景,将具有典型特性的场景提取出来,用户可以将页面当成模版,简单的复制和修改就能够快速的搭建一个页面。

整体架构图

技术选型

底层框架 支点采用 React 技术栈,并搭配 Ant Design 作为基础组件库,Vite 作为开发脚手架,组成支点底层功能框架。
基础设施 在此基础提供模板布局、权限管理、SSO 登录、数据管理、埋点方式、mock 数据等多个基础设施构建基础框架。
业务组件 上层业务组件提供社区优秀解决方案与支点定制业务组建,proComponet 高级组件库、AntV 图表库、音视频上传组件等。
开发部署 支点提供了打包优化方案以及之家云部署流程。

升级可视化搭建

提供一整套平台技术解决方案,确保平台建设的易用性、可扩展性,进而提高平台类产品研发效率

目标

  • 可视化配置和 AIGC 方案将单页面全流程开发时间可在 2 小时内完成
  • 可视化覆盖 60% 的场景

方案

通过可视化配置方案,将 CRUD、图表、表单 场景开发流程时间压缩到1小时内完成。 对 30 个项目 200+ 页面的统计,以及多个后端维护项目的调研 CRUD、图表、表单场景占比 60% 。

落地

总结

支点2.0(中后台前端框架)

  • 统一框架与工具链: 支点提供了一套统一的开发框架和工具链,减少了各个项目之间环境配置的不一致性。这种统一性不仅提升了开发效率,还增强了系统的一致性。
  • 常用功能模块复用: 支点内置了常用功能模块,如权限管理和数据展示等,这些模块可以被多个项目复用,减少了重复开发工作量。
  • 提高协作效率: 通过共享框架和模块,各小组之间可以更高效地协作,快速实现功能集成,从而加快项目交付速度。
相关推荐
植物系青年2 分钟前
前端性能优化全链路实践方案
前端·性能优化
植物系青年4 分钟前
前端 SSE 流式传输技术 🌊 对话大模型最佳拍档!
前端
Kagol5 分钟前
🎉TinyPro v1.2.0 正式发布,趁着 TinyPro 项目刚创建不久,快来参与贡献(蹭 PR)吧!
前端·vue.js·nestjs
洛小豆9 分钟前
想不到吧,这才是浏览器扩展中关闭窗口的正确姿势!
前端·javascript·chrome
Michael.Scofield16 分钟前
vue: router基础用法
前端·javascript·vue.js
excel19 分钟前
webpack 模块 第 五 节
前端
excel28 分钟前
webpack 模块 第 四 节
前端
好_快37 分钟前
Lodash源码阅读-take
前端·javascript·源码阅读
好_快38 分钟前
Lodash源码阅读-takeRight
前端·javascript·源码阅读
好_快39 分钟前
Lodash源码阅读-takeRightWhile
前端·javascript·源码阅读