Rabbits 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Rabbits 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: 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配置简单,上手快,侵入性小,扩展丰富,非常值得尝试。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Rabbits 的相关资讯

还没有任何资讯

Rabbits 的相关博客

省选模拟赛 LYK loves rabbits(rabbits)

题目描述 LYK喜欢兔子,它在家中养了3只兔子。 有一天,兔子不堪寂寞玩起了游戏,3只兔子排成一排,分别站在a,b,c这3个位置。...

hdu 4745 Two Rabbits 区间dp

Two Rabbits Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 28...

HDU 6227.Rabbits-规律 (2017ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学))

Rabbits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 1193 ...

数据结构与JS也可以成为CP(一)数组

Hello小伙伴们,经过了最近的一些介绍,我们今天又返回了JS,为什么呢?我们主要是对数据结构进行一下介绍,很多小伙伴认为对...

ElasticSearch 单字符串多字段查询评分问题

1. 学习查询的api语法 首先向es中titles写入两个文档 POST titles/_doc/1 { "title": "Quick brown rabbits", "body": "Brow...

C博客作业01--分支、顺序结构

#0.展示PTA总分(0----2)# <span style="color:red">顺序结构</span>. <span style="color:red">选择结构</span>. #1.本章学...

The 2019 China Collegiate Programming Contest Harbin Site

题解: https://files.cnblogs.com/files/clrs97/HarbinEditorialV2.zip Code: A. Artful Paintings /* let x=f[n] f[i-1]...

斐波那契数列

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

二维区间前缀和更新与维护

题目描述 White Rabbit has a rectangular farmland of n*m. In each of the grid there is a kind of plant. The plant in t...

Rabbits 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
6 收藏
分享
返回顶部
顶部