【Android】【架构】【美团外卖平台化】

该博客探讨了美团外卖平台化的实现过程,包括早期的失败尝试、页面组件化和MVP Clean架构的尝试,最终采用统一底层库并建立外卖平台App的解决方案。通过Gradle的flavor管理两端差异,采用组件化和多Project结构优化,遵循康威定理拆分业务模块,并设计外卖内核以应对未来变化。此外,还提到了编译打包的优化措施和未来可能的改进方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

美团外卖有多个流量入口,外卖App,美团App,微信小程序等
其中外卖作为美团App的一个频道接入,其功能和外卖App大体相似
早期由2个团队维护,如果可以由一个团队维护,人力成本就可以下降一半,这是极其重要的
所以平台化可以理解为App融合技术,一份代码,多平台运行
我所在的部门同样有2个功能相似的App,存在不少的两端代码拷贝问题,所以学习此文希望可以从中得到借鉴

 

早期失败尝试

复用公共组件,逐项解决差异化

 

  1. UI样式可以在宿主复写一套同名,进行覆盖
  2. 建立代理Fragment统一基类
  3. 2个宿主通过适配器,输出一套公共的数据
  4. 其他差异通过接口隔离
    显然这样会产生大量适配代码,代码冗余。复杂度高。无法定义规范,难以维护,后来者容易打破约束

页面组件化
即拆分一个页面成多个单元,设想这些小单元更容易复用一些
但是实际上底层库差异过大,代码逻辑还是无法有效复用

优雅设计模式

借鉴MVP Clean,这是一个优秀的页面架构,可以把页面拆分成比较细的粒度
你可以理解为把一个页面分成了6-7个组成,分别是UI、数据、逻辑、功能等
按照这些维度来逐项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值