路由方案对比:ARouter与WMRouter

作者: susion哒哒 | 来源:发表于2018-10-23 19:23 被阅读92次

    文章来源自作者的Android进阶计划(https://github.com/SusionSuc/AdvancedAndroid)

    前面依次对这两个路由框架做了源码分析,本文就来比较一下这两个框架。这里从两个方面对比这两个框架: 路由、模块间通信

    路由功能

    WMRouter ARouter
    多scheme和host的支持 ✅;可随意添加,scheme、host不需要强制配置 ❎;支持标准URL跳转。有组的概念,一个路由(url)中的path必须属于某个组
    动态注册路由节点 ✅;@RouterUri标注 ✅;@Route标注
    URI正则匹配 ✅;使用@RouterRegex标注,匹配的path可以直接跳转到对应界面,比如weblink的跳转可以配置正则匹配来路由 ❎;组的概念存在,不支持
    拦截器 ✅;支持配置全局拦截器和局部拦截器,分别可配置多个,可以自定义拦截顺序 ✅;支持配置全局拦截器,可以自定义拦截顺序
    转场动画 ✅; ✅;
    降级策略 ✅;支持全局降级和局部降级 ✅;支持全局降级和局部降级
    跳转监听 ✅;支持全局和单次 ✅;支持全局和单次
    跳转参数 ✅;支持基本类型和自定义类型 ✅;支持基本类型和自定义类型
    参数自动注入 ❎; ✅; @Autowired 注解的属性可被自动注入
    外部跳转控制 ✅; 需要配置入口Acitity,支持的uri需要在Manifest中配置 ✅;需要配置入口Acitity,支持的uri需要在Manifest中配置
    特殊页面跳转控制 ✅;“exported”注解属性配置,特定页面可以配置不允许跳转 ❎;
    自动生成路由文档 ❎; ✅;
    路由节点的生成方式 ✅; 框架加载时加载全部路由节点到内存 ✅;按照组的划分进行懒加载
    路由节点扩展 ✅;扩展性高,可以通过一个Uri来不只做页面的跳转 ✅; 一般

    模块间通信

    WMRouter ARouter
    获取特定接口的实现 ✅; @RouterService 注解配置,支持获取接口的所有实现,或根据Key获取特定实现 ✅; @Route 注解配置,支持根据Path获取对应接口实现

    更多特性

    这里只是按照自己的理解做了简单对比,关于两个框架更多特性可访问官方链接:

    水平有限,如果错误,欢迎指出。

    相关文章

      网友评论

        本文标题:路由方案对比:ARouter与WMRouter

        本文链接:https://www.haomeiwen.com/subject/xkzazftx.html