awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
airbnb avatar

airbnb/mavericks

0
View on GitHub↗
5,934 星标·510 分支·Kotlin·Apache-2.0·8 次浏览airbnb.io/mavericks↗

Mavericks

Mavericks is an opinionated Android state management framework that structures screen-level state as a single immutable object and processes user actions through a unidirectional data flow. It enforces state immutability to prevent unintended mutations and simplify debugging, while managing state subscriptions and cleanup based on Android lifecycle events to prevent memory leaks.

The framework uses a ViewModel-driven architecture where business logic and state management are encapsulated in ViewModels that survive configuration changes. User actions are handled through dedicated intent objects that update state in a controlled, predictable manner, and state changes are exposed reactively via LiveData or RxJava observables to ensure the UI layer always reflects the latest data.

Mavericks enables building reactive Android screens of any complexity without increasing debugging difficulty, as the entire UI state is defined as a single immutable object that automatically updates the UI through reactive subscriptions. The framework's documentation covers installation and setup for integrating this state management approach into Android applications.

Features

  • Android State Management Frameworks - Managing complex UI state in Android apps with a single immutable state object and reactive updates.
  • Android - An opinionated framework for managing reactive screen state and user actions in Android applications using immutable state objects and unidirectional data flow.
  • Immutable Screen State Stores - Structuring screen-level state as a single immutable object for clarity and testability.
  • UI Data Observers - Exposes state changes via LiveData or RxJava observables, ensuring the UI layer always reflects the latest data.
  • User Action Intents - Processes user actions through dedicated intent objects that update state in a controlled, predictable manner.
  • Lifecycle-Aware State Management - Automatically manages state subscriptions and cleanup based on Android lifecycle events to prevent memory leaks.
  • Unidirectional Data Flow Architectures - Implementing a predictable data flow pattern where user actions update state through a dedicated handler.
  • Screen-Level State Stores - Manages screen state as a single immutable object with reactive subscriptions for automatic UI updates.
  • Immutable State Patterns - Enforces state immutability to prevent unintended mutations and simplify debugging of complex screen compositions.
  • Lifecycle-Aware ViewModels - Encapsulates business logic and state management in ViewModels that survive configuration changes and lifecycle events.
  • Reactive UI Frameworks - Building reactive Android screens that automatically reflect state changes without manual synchronization.
  • Intent-Based Action Handlers - Process user intents in a dedicated object that updates state, keeping business logic separate from the UI layer.
  • Immutable Screen State Managers - Define the entire UI state as a single immutable object and expose it reactively so the screen always reflects the latest data.
  • Complex State Management - Compose screens of any complexity without increasing debugging difficulty or code complexity.

Star 历史

airbnb/mavericks 的 Star 历史图表airbnb/mavericks 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Mavericks 的开源替代方案

相似的开源项目,按与 Mavericks 的功能重合度排序。
  • sockeqwe/mosbysockeqwe 的头像

    sockeqwe/mosby

    5,439在 GitHub 上查看↗

    Mosby is a presentation layer framework for Android applications designed to manage application state and user intents. It functions as an architectural tool that implements both Model-View-Intent (MVI) and Model-View-Presenter (MVP) patterns. The framework utilizes a unidirectional data flow to maintain a single source of truth, ensuring that state updates remain predictable by processing intents through a single logic path. It separates business logic from the view layer to decouple presentation logic from Android Activity and Fragment classes. The system provides capabilities for state ma

    Javaandroidarchitecturejava
    在 GitHub 上查看↗5,439
  • kotlin-android-open-source/mvi-coroutines-flowKotlin-Android-Open-Source 的头像

    Kotlin-Android-Open-Source/MVI-Coroutines-Flow

    1,106在 GitHub 上查看↗

    This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It enforces a unidirectional data flow where user intents trigger state updates, which are then propagated through reactive streams to ensure consistent and predictable interface rendering. The architecture relies on immutable state objects to represent application data, ensuring that updates are handled as complete replacements rather than partial modifications. By leveraging Kotlin Coroutines and reactive stream primitives, the framework coordinates asynchronous background tasks an

    Kotlinandroid-arrow-ktandroid-mviandroid-mvi-architecture
    在 GitHub 上查看↗1,106
  • reactivecocoa/reactivecocoaReactiveCocoa 的头像

    ReactiveCocoa/ReactiveCocoa

    19,835在 GitHub 上查看↗

    ReactiveCocoa is a functional reactive programming framework and Cocoa UI binding layer. It provides a library for composing asynchronous data streams and managing application state through signals and functional operators. The framework functions as an Objective-C data binding library that links object properties and method calls to reactive streams using runtime dynamism and swizzling. It includes a utility to convert traditional key-value observation notifications into composable streams for synchronized state tracking. The project covers reactive UI programming by connecting interface el

    Swift
    在 GitHub 上查看↗19,835
  • reduxjs/reduxreduxjs 的头像

    reduxjs/redux

    61,511在 GitHub 上查看↗

    Redux is a predictable state container designed to manage global application data through a centralized store. It operates on a unidirectional data flow architecture where state transitions are triggered by dispatching action objects, which are then processed by pure reducer functions to produce a new, immutable state tree. This approach ensures that application data remains consistent and traceable across the entire component hierarchy. The library distinguishes itself through a functional pattern that relies on pure functions for state logic and a middleware-based extension system. This mid

    TypeScriptredux
    在 GitHub 上查看↗61,511
查看 Mavericks 的所有 30 个替代方案→

常见问题解答

airbnb/mavericks 是做什么的?

Mavericks is an opinionated Android state management framework that structures screen-level state as a single immutable object and processes user actions through a unidirectional data flow. It enforces state immutability to prevent unintended mutations and simplify debugging, while managing state subscriptions and cleanup based on Android lifecycle events to prevent memory leaks.

airbnb/mavericks 的主要功能有哪些?

airbnb/mavericks 的主要功能包括:Android State Management Frameworks, Android, Immutable Screen State Stores, UI Data Observers, User Action Intents, Lifecycle-Aware State Management, Unidirectional Data Flow Architectures, Screen-Level State Stores。

airbnb/mavericks 有哪些开源替代品?

airbnb/mavericks 的开源替代品包括: sockeqwe/mosby — Mosby is a presentation layer framework for Android applications designed to manage application state and user… kotlin-android-open-source/mvi-coroutines-flow — This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It… reactivecocoa/reactivecocoa — ReactiveCocoa is a functional reactive programming framework and Cocoa UI binding layer. It provides a library for… reduxjs/redux — Redux is a predictable state container designed to manage global application data through a centralized store. It… kunminx/jetpack-mvvm-best-practice — This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It… salesforce/akita — Akita is a JavaScript state management library that provides a system for managing application data and user interface…