JLRouter
HHRouter
MGJRouter
CTMediator
Uber数据驱动???这个算?
实际上上面的五种方案的思路可以分为
- URLRoute注册方案
JL/HH属于此类
优点:
借鉴前端,最容易想到
服务器可以动态配置,三端统一,Native出现错误可以动态降级到H5(考虑web端感受..)
缺点:
对公司web端人员配置需求
Native错误可以使用热修复修改(现在不可以了)
硬编码问题
传参限制,不能传递复杂参数
load中注册URL,影响启动速度
- Protocol-Class注册方案
MGJ属于1.2两者兼有
优点:
- 没有硬编码
缺点:
但还是需要注册,依赖比较多
调用没有一个统一的入口,方法散落四处
- Target-Action方案
CTMediator
优点:
无需注册
简单粗暴
依赖较为简单
对scheme/native传参功能做了区分
对App逐步组件化比较友好
缺点:
- 还是有一部分硬编码在CT分类中(但根据作者解释这里影响应该不大)
- 数据驱动方案
Uber/爱奇艺