Ads 组件库说明
一、解决什么问题
1.1 目前项目中存在的问题
- 1.项目中ui还原度较低,不同页面相同功能写出的组件样式也不一样
- 2.项目中有很多重复或类似的组件,增加代码体积,且大家不知道是否已有可复用的组件
- 3.已有组件没有文档输出,使用就需要阅读代码
- 4.已有组件A不满足当前需求,直接改了A的源码,导致其他使用A的页面出错,或者对A的改动违背了A的设计初衷(固定开发者)
- 5.css公用样式不够完善, 组件内有重复功能的命名。
- 6.从设计上看,产品要遵循一定的设计规范来保持统一性,没有可参考的网站,导致重复设计功能
1.2 沟通成本的增加
- 设计:听说你们已经沉淀了 200+ 组件,能给我们看看有哪些组件吗?我们在下次设计的时候可以参考这些组件进行输出,减少沟通成本。
- 前端:@所有人 这个组件我们库里面有吗?有,CascadeSelect。哦,怎么用的?有文档吗?.......看下源码吧。well...
- 试想下如果今天你写了个巨牛的组件,复用性、接口设计和交互设计都非常棒,但是你有什么渠道能让大家一下子就知道吗,难道你要专门为此拉大家开个会?来今天占用大家1个小时的宝贵时间,介绍下我今天写的巨牛组件。
二、项目分析
2.1 可行性方案
构建热云Ads组件库
- 减少项目代码体积
- 统一管理组件, 规范代码,协同开发变得更高效规范
构建热云Ads组件库官网
- 将实现的组件同步到官网中,这样每次设计师就可以看着已有的组件来生成设计稿,大大减少前端&设计师的沟通
- 提供组件Demo事例,用法 ,代码(接口输出统一规范),文档,以及易错点
- 提供时时编辑预览组件 ry-run
2.2 影响范围
- 需要替换项目中对应组件
三、怎么叫做的好
- 项目风格样式统一,减少设计的重复工作
- ads项目组件覆盖率20%-30%
三、组件库的价值
- 满足当前业务需求的同时,输出广告行业的业务组件,是现有Antd、iView 等现成组件库没有的
- 非常轻松接入 微前端 框架,因为所有组件的发布构建都是标准的构建协议
- 就个人而言,拥有一套自己的组件库,可以让你的开发变得更高效,让你在行业里更有价值。
- 就团队而言,拥有一套团队的组件库,可以让协同开发变得更高效规范,让你的团队在公司更具有影响力。
- 就公司而言,拥有一套公司维护的开源组件库,可以让你的公司在行业里更具有影响力。
- 从业务上看,当业务达到一定规模后,很多地方需要复用
- 从设计上看,产品要遵循一定的设计规范来保持统一性
- 从开发上看,对开发效率要求高,需要快速迭代和响应开发需求
- 从维护上看,需要统一代码管理,需要达到更改一处全局响应的高可维护性
四、做了哪些事
Q1
- 构建组件库源码
- 官网,提供Demo事例,用法 ,代码,ry-run
- 贡献组件6个
Q2
- 预计增加15个左右组件(目前已完成5个)
- 提供每个组件需要注意的点(需要设计协助),有地方可查
- 源码库按需加载iview组件,减少代码体积
- 完善组件代码开发规范和流程,提交规范
- 根据ui完善一个模版(区块事例)
Q3
- 关于ui或者产品文档的输出,改为后台自行输入,更新到官网,需要前端使用egg或node搭建后台
- 待更新...