用于 Android 项目的路由组件 Rabbits

Apache
Java
跨平台
2017-05-23
两味真火

什么是Rabbits?

Rabbits是用于Android项目的路由组件。具有统一管理路由、支持动态更新等方便的特性。因为经常用到「跳转」这个词,想一想兔子经常和跳这个动作联系起来,所以这个项目就叫Rabbits了。

什么是路由?

如果不接触Web开发,通常看到路由应该是“路由器”。和网络中的路由类似,Web和App中的路由也是为了确定某种路径,启动某个页面或者组件。在Android中,路由一般都是完成url或者path到某个页面(通常是Activity)的映射。

为什么需要路由?

startActivity足够简单和直观,那么为什么要用路由呢?用一句话来概括就是路由可以统一App内的所有页面导航,原生页面或者WebView内的网页。如果你的项目涉及到用WebView展示某些内容,比如新闻、论坛等App,使用路由即可统一这些页面间的导航,业务逻辑层面完全不需要关心下一个页面的实现。
路由的存在使得在WebView中跳转到App原生页面变得异常简单,只需要在WebViewClient的回调中加入几行代码。
支持更新的路由,更使得A/B Test和Fallback到Wap页面变得轻而易举,仅仅需要下发路由表。

为什么需要Rabbits?

去年下半年开始,出现了很多个路由组件。Rabbits和他们相比又有那些不同呢?

编译时注解

Rabbits使用编译时注解,避免了运行时注解的性能损耗,同时不要求对被注解的类进行混淆排除,一定程度上还加强了安全性。

统一管理路由表

Rabbits的路由表使用json进行统一管理,避免url注解散落到各处的尴尬。Activity和Fragment类的注解仅标识该页面的page name,一旦设置不需要改动,不易出错。
Rabbits还会根据路由表生成辅助类管理url常量,绝大多数情况,项目中不会出现手写url和path的情况,减少typo的可能性。

动态更新

Rabbits提供动态更新的能力,一旦更新,立即生效;同时会将最新的路由表缓存到文件,下次冷启动将直接加载。

Fragment支持

Rabbits支持对Fragment进行注解,经过一些设置之后,可以实现在Fragment间完成类似Activity的导航效果。

总结起来,Rabbits配置简单,上手快,侵入性小,扩展丰富,非常值得尝试。

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

斐波那契数列

题目:一对兔子从出生三个月后每月生一对兔子,假如兔子不死,求每个月兔子的总数?

2014/03/26 10:27
23
0
lesson 1 a puma at large 2016-10-06

逃遁的美洲狮

2016/10/08 18:16
4
0
RabbitMQ php 使用

RabbitMQ php 使用

2014/09/26 17:40
95
0
抽象工厂学习

工厂模式---抽象工厂

2015/11/16 11:13
38
0
伍哥原创之安装RabbitMQ

测试环境:CentOS 6.2 首先用root身份登录测试环境 1,安装erlang (R15B01) 1 2 3 4 5 6 7 8 yum groupinstall "development tools" yum install ncurses-devel unixODBC unixODBC-devel w...

2012/08/06 19:07
1K
0
RabbitMQ教程——主题

主题 (使用 pika 0.9.8 Python客户端) 在前一篇教程中,我们改进了我们的logging系统。我们使用了一个direct exchange来替换只能简单地广播消息的fanout exchange,并获得了选择性地接收...

2015/06/13 10:55
57
0
OpenStack学习笔记

OpenStack Hacker

2014/04/08 17:10
482
2

没有更多内容

加载失败,请刷新页面

返回顶部
顶部