awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
alibaba avatar

alibaba/ARouter

0
View on GitHub↗
14,476 stars·2,606 forks·Java·Apache-2.0·18 views

ARouter

ARouter is a framework for Android applications designed to decompose monolithic apps into smaller, independent modules. It provides a URL-based routing system that enables navigation between decoupled components and modules without requiring direct class dependencies.

The framework includes a navigation interceptor to handle authentication, redirection, and custom activity animations during page transitions. It also features a service injector that manages dependencies across modules using an inversion of control pattern and interface-based injection.

The toolset covers inter-module navigation, parameter injection from URL strings into page fields, and route fallback strategies for missing destinations. It supports dynamic route registration for plugin architectures and provides automation for generating route maps and documentation.

Features

  • App Routing and Navigation - Provides a URL-based routing system for navigating between screens and activities in Android apps.
  • URL Routing - Implements a URL-based navigation system to decouple components and modules within Android applications.
  • Metadata Generators - Provides automated generation of routing configuration metadata during the build process to eliminate runtime reflection.
  • Android Dependency Management - Manages service dependencies across Android modules using an interface-based inversion of control system.
  • Componentization Tools - Provides a framework for breaking monolithic Android applications into smaller independent modules with centralized routing.
  • Componentization Workflows - Enables the decomposition of monolithic Android apps into smaller, independent modules to improve build times.
  • Navigation & Routing - Enables navigation between decoupled app modules using URL-based routing without direct class dependencies.
  • Navigation Interceptors - Implements a pipeline of pluggable interceptors to handle authentication and redirection during navigation.
  • Automatic Parameter Mapping - Parses standard URL strings to automatically pass data and parameters into target page fields.
  • Annotation-Based Route Mapping - Implements a static lookup table linking URL paths to target classes via compile-time annotation processing.
  • Component Decoupling Patterns - Employs an inversion of control pattern to manage shared components across separate Android modules.
  • Dependency Injection - Removes hard dependencies between components by injecting required services across modules.
  • Interface-Based Discovery - Uses an inversion of control pattern to resolve shared service dependencies via interface lookups.
  • Navigation Interception - Implements global logic such as authentication and analytics tracking during page transitions.
  • Page Field Injections - Implements automatic injection of URL parameters directly into target page fields via annotations.
  • Reflection-Based Unmarshallers - Maps URL parameter keys to annotated member variables using Java reflection at runtime.
  • Plugin-Based Architectures - Supports the dynamic registration of routes to allow the loading of optional or external feature modules.
  • Navigation Animations - Allows configuration of custom entry and exit animations during page transitions.
  • Dynamic Route Registration - Allows adding routing information at runtime to support optional or external feature modules.
  • Route Fallback Strategies - Specifies global or local degradation behaviors to handle cases where a destination route cannot be found.

Star history

Star history chart for alibaba/arouterStar history chart for alibaba/arouter

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to ARouter

Similar open-source projects, ranked by how many features they share with ARouter.
  • xiaojinzi123/componentxiaojinzi123 avatar

    xiaojinzi123/Component

    2,925View on GitHub↗

    Component is a modularization, navigation routing, and service location framework designed for Android applications. It provides architectural primitives that split large codebases into decoupled feature modules, enabling independent module execution and automated module lifecycles during startup and shutdown. Compile-time annotation processing generates routing metadata and proxy classes to eliminate manual configuration overhead while supporting interface-based service discovery and type-safe screen transitions. The framework manages cross-module communication and navigation through a centr

    Javaandroidandroid-architectureandroidx
    View on GitHub↗2,925
  • dodyg/practical-aspnetcoredodyg avatar

    dodyg/practical-aspnetcore

    10,382View on GitHub↗

    This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro

    C#asp-net-coreaspnet-coreaspnetcore
    View on GitHub↗10,382
  • react-community/react-navigationreact-community avatar

    react-community/react-navigation

    24,480View on GitHub↗

    React Navigation is a cross-platform routing framework and navigation library designed to synchronize routing logic and navigation flows across Android, iOS, and web platforms. It functions as a mobile app router that coordinates transitions between different application views while maintaining a consistent navigation history. The project provides a system for managing screens and navigation state in React Native applications. It enables the definition of paths and the coordination of movement between views to maintain an organized flow throughout the user experience. The framework covers br

    TypeScript
    View on GitHub↗24,480
  • square/daggersquare avatar

    square/dagger

    7,281View on GitHub↗

    Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management

    Java
    View on GitHub↗7,281
See all 30 alternatives to ARouter→

Frequently asked questions

What does alibaba/arouter do?

ARouter is a framework for Android applications designed to decompose monolithic apps into smaller, independent modules. It provides a URL-based routing system that enables navigation between decoupled components and modules without requiring direct class dependencies.

What are the main features of alibaba/arouter?

The main features of alibaba/arouter are: App Routing and Navigation, URL Routing, Metadata Generators, Android Dependency Management, Componentization Tools, Componentization Workflows, Navigation & Routing, Navigation Interceptors.

What are some open-source alternatives to alibaba/arouter?

Open-source alternatives to alibaba/arouter include: xiaojinzi123/component — Component is a modularization, navigation routing, and service location framework designed for Android applications.… dodyg/practical-aspnetcore — This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of… react-community/react-navigation — React Navigation is a cross-platform routing framework and navigation library designed to synchronize routing logic… square/dagger — Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and… insertkoinio/koin — Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves… androidannotations/androidannotations — AndroidAnnotations is a suite of tools designed to automate the generation of repetitive boilerplate and setup code…