A powerful componentized framework.一个强大、100% 兼容、支持 AndroidX、支持 Kotlin并且灵活的组件化框架. 大家尽量用 纯 Kotlin 的 KComponent 呀!!!
Java
2,920
859 commits
updated Aug 28, 2024
Component 一定以最快的速度解决您的 issue, 提供解决方案.
KComponent 纯 Kotlin 版本已经发布很久啦, 欢迎大家使用 !!!!!!!!!!!!!
可以说到目前为止, 基于 URI 方面的所有路由框架中(ARouter、WMRouter、ActivityRouter ...) Component 是最强大和完善的组件化框架.
选择一个更好、更全面的、更稳定、更有发展前景的框架更是你们技术团队或者技术负责人要做的事情!

一个功能强大的组件化框架,极度注重用户体验,带给你使用上不一样的享受.欢迎大家使用,在使用的过程中发现任何问题,欢迎下方的 QQ群 里问或者提 issue 给我
扫码或者点击图片即可下载
Intent 的地方使用了解更多请看 wiki 更多功能等你来发现 **有关的文章 到底什么是组件化 **
组件化方案真的有很多,那么这个组件化方案优秀在哪里?相比于 ARouter、WMRouter、ActivityRouter、CC、DDComponent
等开源的组件化框架, 有哪些一样或者更加优秀的点
支持多 Module
支持 Google App Bundle 架构
支持 Flutter, H5 等混合项目
支持 androidx, 几乎没有其他组件化框架支持 androidx 的
整个设计贴近原生,对原生的代码入侵极少,尽最大的可能保留原生的代码
支持依赖注入、支持目标界面的路由参数
跨模块调用
支持业务组件生命周期(被加载和被卸载)
配套的 Idea Plugin 方便快速浏览,持续会更新此 插件
完美支持 RxJava2(使用rx库)
服务发现(跨模块调用)和路由分开设计 - 其实这两块本来就是两个方面,我不清楚为什么很多方案中都柔和在一块
路由跳转功能
支持生成文档
支持获取目标的 ProxyIntent
支持标准 URI 的使用
无缝对接 H5
H5 只需利用 URL 即可任意路由到任何界面(只需下面一段统一的跳转. 完全不需要关心目标界面是否需要登陆、定位、权限等.)
@JavascriptInterface
public void openUrl(final String url) {
Router.with(this).url(url).forward();
}
H5 发起路由不需要关心目标界面需要做的先决条件(框架的页面拦截器已经帮您做完)
支持原生的跳转动画
支持跳转 Fragment(也就是跨组件获取Fragment)
路由拦截器执行线程设计是主线程, 整体是异步的(这点很多人不理解, 没有关系. 先用起来之后在慢慢理解)
90% 代码都是在主线程的,UI、弹框等操作.Callback 机制可以在拦截器中做任何耗时的任务异步 的,而且拦截器中能像平常一样写实现的代码路由的取消,基本上没有路由框架支持路由的取消,这也是一个很大的优势!
Fragment 或者 Activity 销毁的时候会取消路由拦截器,足矣满足所有业务情况(具体看 拦截器wiki)
跳转
URIIntent, 你可以给任意一个 Intent 标记路由, 这个功能很强大!Retrofit 接口编程式跳转Idea Plugin 强势支持跳转代码和目标界面的来回导航,也支持拦截器的代码使用和声明处的来回导航 0 配置拿到目标界面返回的 ActivityResult, 很多框架不支持或者需要入侵 BaseActivity. 绝对的优势
Context 是 Application 或者 Service 的 Context 或者 ContentProvider 的 Context 的时候, 不支持获取ActivityResult, 如果真的有需要, 你可以使用栈顶的 Activity 来充当 ContextContext, 其他的情况都是支持的,包括 Dialog 中获取到的 Context. 注解驱动器 不支持增量更新, 暂时不知道怎么去做
Idea PluginAndroid Studio 中搜索插件名称:RouterGo, 即可下载对应的插件
RouterGo 源码地址:帮助你快速导航到目标界面或者目标拦截器,你值得拥有!
Component 项目结构(Demo + 库源码)demo 示例代码
app --> 壳工程Module1 --> Java 业务模块Module1run --> Module1 业务模块单独运行的 Application 应用Module2 --> Kotlin 业务模块ModuleHelp --> Help 业务模块, 一些有关通用的或者系统相关的放这里ModuleUser --> User 业务模块ModuleBase --> 各个业务模块的基础模块, 上述的没一个业务模块都需要依赖ComponentApi --> Api 库ComponentCompiler --> 注解驱动器库ComponentImpl --> 实现库ComponentRxImpl --> 实现库 RxJava 的扩展ComponentPlugin --> 配套的 Gradle, 功能有两个
new 对象的方式, 利用字节码修改技术
A powerful componentized framework.一个强大、100% 兼容、支持 AndroidX、支持 Kotlin并且灵活的组件化框架. 大家尽量用 纯 Kotlin 的 KComponent 呀!!!
Java
2,920
859 commits
updated Aug 28, 2024
Component 一定以最快的速度解决您的 issue, 提供解决方案.
KComponent 纯 Kotlin 版本已经发布很久啦, 欢迎大家使用 !!!!!!!!!!!!!
可以说到目前为止, 基于 URI 方面的所有路由框架中(ARouter、WMRouter、ActivityRouter ...) Component 是最强大和完善的组件化框架.
选择一个更好、更全面的、更稳定、更有发展前景的框架更是你们技术团队或者技术负责人要做的事情!

一个功能强大的组件化框架,极度注重用户体验,带给你使用上不一样的享受.欢迎大家使用,在使用的过程中发现任何问题,欢迎下方的 QQ群 里问或者提 issue 给我
扫码或者点击图片即可下载
Intent 的地方使用了解更多请看 wiki 更多功能等你来发现 **有关的文章 到底什么是组件化 **
组件化方案真的有很多,那么这个组件化方案优秀在哪里?相比于 ARouter、WMRouter、ActivityRouter、CC、DDComponent
等开源的组件化框架, 有哪些一样或者更加优秀的点
支持多 Module
支持 Google App Bundle 架构
支持 Flutter, H5 等混合项目
支持 androidx, 几乎没有其他组件化框架支持 androidx 的
整个设计贴近原生,对原生的代码入侵极少,尽最大的可能保留原生的代码
支持依赖注入、支持目标界面的路由参数
跨模块调用
支持业务组件生命周期(被加载和被卸载)
配套的 Idea Plugin 方便快速浏览,持续会更新此 插件
完美支持 RxJava2(使用rx库)
服务发现(跨模块调用)和路由分开设计 - 其实这两块本来就是两个方面,我不清楚为什么很多方案中都柔和在一块
路由跳转功能
支持生成文档
支持获取目标的 ProxyIntent
支持标准 URI 的使用
无缝对接 H5
H5 只需利用 URL 即可任意路由到任何界面(只需下面一段统一的跳转. 完全不需要关心目标界面是否需要登陆、定位、权限等.)
@JavascriptInterface
public void openUrl(final String url) {
Router.with(this).url(url).forward();
}
H5 发起路由不需要关心目标界面需要做的先决条件(框架的页面拦截器已经帮您做完)
支持原生的跳转动画
支持跳转 Fragment(也就是跨组件获取Fragment)
路由拦截器执行线程设计是主线程, 整体是异步的(这点很多人不理解, 没有关系. 先用起来之后在慢慢理解)
90% 代码都是在主线程的,UI、弹框等操作.Callback 机制可以在拦截器中做任何耗时的任务异步 的,而且拦截器中能像平常一样写实现的代码路由的取消,基本上没有路由框架支持路由的取消,这也是一个很大的优势!
Fragment 或者 Activity 销毁的时候会取消路由拦截器,足矣满足所有业务情况(具体看 拦截器wiki)
跳转
URIIntent, 你可以给任意一个 Intent 标记路由, 这个功能很强大!Retrofit 接口编程式跳转Idea Plugin 强势支持跳转代码和目标界面的来回导航,也支持拦截器的代码使用和声明处的来回导航 0 配置拿到目标界面返回的 ActivityResult, 很多框架不支持或者需要入侵 BaseActivity. 绝对的优势
Context 是 Application 或者 Service 的 Context 或者 ContentProvider 的 Context 的时候, 不支持获取ActivityResult, 如果真的有需要, 你可以使用栈顶的 Activity 来充当 ContextContext, 其他的情况都是支持的,包括 Dialog 中获取到的 Context. 注解驱动器 不支持增量更新, 暂时不知道怎么去做
Idea PluginAndroid Studio 中搜索插件名称:RouterGo, 即可下载对应的插件
RouterGo 源码地址:帮助你快速导航到目标界面或者目标拦截器,你值得拥有!
Component 项目结构(Demo + 库源码)demo 示例代码
app --> 壳工程Module1 --> Java 业务模块Module1run --> Module1 业务模块单独运行的 Application 应用Module2 --> Kotlin 业务模块ModuleHelp --> Help 业务模块, 一些有关通用的或者系统相关的放这里ModuleUser --> User 业务模块ModuleBase --> 各个业务模块的基础模块, 上述的没一个业务模块都需要依赖ComponentApi --> Api 库ComponentCompiler --> 注解驱动器库ComponentImpl --> 实现库ComponentRxImpl --> 实现库 RxJava 的扩展ComponentPlugin --> 配套的 Gradle, 功能有两个
new 对象的方式, 利用字节码修改技术