看完文章大概需要10分钟~
目录
1、模块化和组件化
案例:app重构
2、插件化
案例:TuUI框架
3、平台化和中台化
案例:应用工厂
一、模块化和组件化
1、模块化 业务划分导向
2、组件化 功能分工导向
案例- app重构-重构前
封装性差
不内聚、耦合
功能分工不清晰
业务划分不清晰
逻辑混乱
可维护性、可扩展性差
案例- app重构-重构后
有什么好处和帮助?
有利于项目迭代和维护,帮助开发人员职能分工。
例如 :
1.A开发成员,按业务模块分配任务,他不需要深入了解项目功能和基础组件服务,只需要熟悉独立负责的业务代码,就可以很快上手进行业务开发。
2.B开发成员,分配中间层任务,负责解决应用性能优化或功能组件开发,他不需要深入了解业务实现和基础组件服务,只需要中间件对每个功能性模块(如:定位优化、语音优化、?新功能开发)进行优化和开发,做到控制+连接。
3.c开发成员,负责基础组件和项目架构设计的开发和优化,他需要维护基础组件件以及整个项目架构设计和每个部分协调,但不需要进行功能组件和业务开发,做好基础支撑服务。
会遇到什么问题?
通信、事件、数据交互。
资源、包冲突。
依赖、配置冲突。
架构、规范 熟悉成本。
二、插件化
什么是插件化?
1.玩游戏加载副本?
2.微信的小程序?
3.沙盒小游戏?
4.操作系统里的应用软件?
5.chrome浏览器的小插件?
案例-TuUI框架
有什么好处和帮助?
运行期动态化加载。
减少项目体量。
灵活,插件可以独立编译运行。
整合了功能和业务,解藕性更强。
业务动态更新、bug 动态修复。
遇到什么问题?
通信、事件、数据交互。
资源冗余。
Android 非官方API限制。
三、平台化和中台化
1、什么是平台化?
操作系统平台?
管理系统平台?
应用的平台?
2、什么是中台化?
业务中台
数据中台
组织中台
应用的中台?
案例-应用工厂
新业务快速孵化加工厂,方便业务线快速试错。
2个月开发工作量的app 只需要2周完成。
1、平台化
通过多个功能组件组合,完成一个功能职责链路的支持
例如:研发平台、网络平台、应用质量平台、音频平台、账户平台。
2、业务中台化
通过多个业务模块组合,完成多条业务线一个业务部分的支持。
例如:直播中台、点播中台。