didi / Drouter
Licence: apache-2.0
Android Router Framework
Stars: ✭ 80
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Drouter
Kill Router
Ferramenta para quebrar senhas administrativas de roteadores Wireless, routers, switches e outras plataformas de gestão de serviços de rede autenticados.
Stars: ✭ 57 (-28.75%)
Mutual labels: router
Highway
Highway - A Modern Javascript Transitions Manager
Stars: ✭ 1,185 (+1381.25%)
Mutual labels: router
Ng2 Breadcrumbs
A breadcrumb service for the Angular 7 router
Stars: ✭ 61 (-23.75%)
Mutual labels: router
Koatty
Koa2 + Typescript = Koatty. Use Typescript's decorator implement IOC and AOP.
Stars: ✭ 67 (-16.25%)
Mutual labels: router
Apprun
AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.
Stars: ✭ 1,087 (+1258.75%)
Mutual labels: router
Actions Openwrt K2p
Use Github Actions to automatically compile Lean's Modified Lede source for K2P
Stars: ✭ 67 (-16.25%)
Mutual labels: router
Route Recognizer
Recognizes URL patterns with support for dynamic and wildcard segments
Stars: ✭ 65 (-18.75%)
Mutual labels: router
Corenavigation
📱📲 Navigate between view controllers with ease. 💫 🔜 More stable version (written in Swift 5) coming soon.
Stars: ✭ 69 (-13.75%)
Mutual labels: router
Vue Component Router
A component-based, declarative router for vue. Inspired by React Router 4
Stars: ✭ 61 (-23.75%)
Mutual labels: router
Nettygateway
NettyGateway is a HTTP proxy server with flexible routing rules.
Stars: ✭ 73 (-8.75%)
Mutual labels: router
Livebox 0day
Arcadyan ARV7519RW22-A-L T VR9 1.2 Multiple security vulnerabilities affecting latest firmware release on ORANGE Livebox modems.
Stars: ✭ 68 (-15%)
Mutual labels: router
Hookrouter
The flexible, and fast router for react that is entirely based on hooks
Stars: ✭ 1,200 (+1400%)
Mutual labels: router
I2p.i2p
I2P is an anonymizing network, offering a simple layer that identity-sensitive applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties.
Stars: ✭ 1,186 (+1382.5%)
Mutual labels: router
Service Worker Router
➰ An elegant and fast URL router for service workers (and standalone use)
Stars: ✭ 70 (-12.5%)
Mutual labels: router
简介
DRouter是滴滴乘客端自研的一套Android路由框架,基于平台化解耦的思想,为组件间通信服务。该项目以功能全面、易用为原则,支持各种路由场景,在页面路由、服务获取和过滤、跨进程及应用、VirtualApk插件支持等方面都能提供多样化的服务。目前已在滴滴乘客端、顺风车、单车、国际化、滴滴定制车等十多个滴滴的app内使用,得到各种场景的验证。
提供功能
- 使用URI字符串导航Activity、Fragment、View、RouterHandler,支持正则表达式
- 回调式onActivityResult
- RouterHandler、Activity支持等待异步完成(hold),并可设置超时时间
- RouterHandler指定执行线程
- 注入拦截器,支持全局拦截器和局部拦截器,面向切面编程
- 更为多样化的Fragment页面跳转能力
- 使用接口或基类导航到实现类Service的Class以及实例
- 支持Service别名以及多维过滤器查找
- 导航Service可指定任意构造器、支持单例
- 支持动态注册RouterHandler、Service,绑定生命周期自动解绑
- 简单易用的跨进程执行RouterHandler、Service
- 跨进程访问无需提前绑定、如同本地调用一样进行访问
- 支持客户端进程和服务端进程自动重连
- 支持VirtualApk
技术特点
- 插件支持增量编译、多线程扫描、以及运行时异步加载路由表,尽其所能提高效率
- 完整的Router功能
- 强大的ServiceLoader能力
- 简单高效的跨进程通信机制,就像调用本地方法
- 框架内部尽可能减少使用反射,提升性能
- 动态下载与api匹配的plugin,无需升级plugin版本
- 无需手动添加混淆规则
核心模块
模块 | 功能 |
---|---|
Router | Native和H5导航Activity、Fragment、View、RouterHandler,支持切入拦截器 |
Service | 基于spi通过接口的形式查找到实现类,支持过滤和优先级配置 |
Remote | 跨进程访问Router、Service |
Page | 支持单Page、栈Page、ViewPager三种形式的Fragment加载 |
使用文档
接入方式及文档请移步 Wiki
/** 最新版本 **/
classpath "com.didi.drouter:drouter-plugin-proxy:1.0.0"
api "com.didi.drouter:drouter-api:1.0.3"
微信交流群
微信群二维码有期限,请搜索 gwball 加我微信入群,可备注 DRouter
License
DRouter 基于 Apache-2.0 协议进行分发和使用,更多信息参见 协议文件
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].