没错,TheRouter 是我写的

本文作者介绍了TheRouter,一个用于Android模块化开发的路由库,旨在解决ARouter存在的问题,如死板的路由配置和性能问题。TheRouter支持动态页面路由、单模块自动初始化和动态化能力,简化模块化开发。文章详细阐述了TheRouter的特性和使用场景,并提供了从ARouter一键迁移的工具。

没错,货拉拉开源的路由库 —— TheRouter 是我写的

大约在17年底到18年初的时候,我经常会讲一些当时做模块化开发的心得和踩坑历程。比如这几篇都是那时候写的:《Android 模块化平台设计》、《优雅移除模块间耦合》、《企业级 Android 模块化平台设计建议》。

但后来我慢慢不讲这些了,因为我发现做模块化,虽然我们能总结出来一套较为通用的解决方案,但很难通过几次短短的技术分享就跟别人讲清楚。并且很容易让人产生误解:我们是小公司,不需要做模块化。再加上因为当时是基于公司已有的基础建设,和制度的一些限制,并不能对外开源一套较为完善的模块化方案,开源一套完整的模块化方案这个种子就一直埋下了。

说回 TheRouter

这个名字,其实熟悉我的都知道,之前写过一个开源类 MVP 框架,叫TheMVP,基本上成为了一种将Activity看做 P 层架构的行业规范。后来被支付宝使用了,也在 设置-关于-版权信息 里面能查到,直到前几天我去反编译的时候,都还看到BaseActivity用的是我的代码。

The 代表了一种唯一性,表示有这个就够了。

TheRouter也是一样,我相信用过TheRouter以后你才会真正意识到,现在的企业级Android模块化应该怎么玩。

为什么要使用 TheRouter

路由是现如今 Android 开发中必不可少的功能,尤其是企业级APP,可以用于将Intent页面跳转的强依赖关系解耦,同时减少跨团队开发的互相依赖问题。

对于大型 APP 开发,基本都会选用模块化(或组件化)方式开发,对于模块间解耦要求更高。 TheRouter 是一整套完全面向模块化开发的解决方案,不仅能支持常规的模块依赖解耦、页面跳转,同时提供了模块化过程中常见问题的解决办法。例如:完美解决了模块化开发后组件内无法获取 Application 生命周期与业务流程,造成每次初始化与关联依赖调用都需要跨模块修改代码的问题。

不过为什么要用,说到底,还是用ARouter用的太头疼了。

  • 一个是死板,所有路由都是写死的,但凡想灵活一点,把线上Crash的页面降级成H5临时解决,都得改一大堆代码还很多限制性。
  • 另一个就是效率,不管是编译时长还是启动耗时,这俩问题都一直不解决。某个厂的开源项目都这样,作者们该晋升的晋升,该转岗的转岗,剩下的躺平不管,毕竟修修补补这事不占KPI,没法述职啊。没办法,自己来吧,谁让我们还有启动耗时指标的。
  • 再就是遇到的一个坑,在用tinker下发补丁的时候,发现同一个分支打出来的包,ARouterButterknife的产物包代码都不一样,直接增大了补丁体积。
  • 当然,还有很多差异,看这个表格吧。
功能 TheRouter ARouter WMRouter
Fragment路由 ✔️ ✔️ ✔️
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值