30 open-source projects similar to trello-archive/rxlifecycle, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best RxLifecycle alternative.
This project is a sample library and implementation guide for using RxJava to manage asynchronous data streams and concurrent tasks in Android applications. It provides a collection of reference implementations for reactive programming, focusing on functional operators to transform and combine asynchronous data flows. The library demonstrates specific Android architectural patterns, such as implementing decoupled event buses for component communication and coordinating parallel network requests. It includes concrete examples of mobile-specific patterns including search input debouncing, list
RIBs is a mobile architecture framework that structures applications around isolated, lifecycle-managed units of business logic called RIBs. Each RIB separates routing, business logic, and construction into distinct classes through the Router-Interactor-Builder pattern, with hierarchical dependency injection scoping dependencies per node and static analysis enforcing architectural rules at build time. The framework enforces automatic disposal of Rx subscriptions scoped to interactor lifecycles, blocking compilation when subscriptions lack proper disposal to prevent memory leaks. It supports v
RxBinding is an Android UI binding library that transforms standard view listeners into RxJava observables. It serves as a bridge and reactive wrapper, converting user interactions and widget states into reactive data flows. The project enables the implementation of reactive programming patterns across Android system interactions. By treating UI interactions as data streams, it allows for the asynchronous handling of events to decouple the view layer from business logic. The library covers the conversion of UI events into streams, the management of widget states to trigger application update
This repository is a collection of practical implementation patterns and reference samples for using RxJava 2 to manage asynchronous data streams in Android applications. It serves as a reactive programming implementation guide, providing code examples for handling complex event-driven logic and asynchronous patterns within mobile environments. The project distinguishes itself by providing specific reference implementations for common mobile challenges, such as real-time search with debouncing, on-demand list pagination for infinite scrolling, and cache-first data streaming to reduce perceive
RxAndroid is a reactive programming library and binding layer that integrates RxJava with the Android runtime environment. It provides a framework for composing asynchronous data streams and managing event-driven workflows specifically tailored for Android's threading requirements. The library functions as an Android thread scheduler, routing reactive operations to the main UI thread or specific Android loopers. This ensures that asynchronous task outcomes are dispatched to the primary interface thread for safe updates of visual components while preventing background processing from blocking
This project is a curated collection of Android development code snippets, implementation patterns, and technical guides designed to assist in building and maintaining mobile applications. It serves as a reference for standard mobile architecture, providing structured approaches to common development requirements and system integration tasks. The repository distinguishes itself by offering specific technical strategies for managing application lifecycles, optimizing memory usage, and ensuring interface responsiveness in resource-constrained environments. It provides programmatic techniques fo
ButterKnife is an Android view binding library and Java annotation processor that automates the linking of UI elements and resources to class fields and methods. It functions as a system for managing view references and event listeners to reduce repetitive setup code in Android applications. The library uses compile-time code generation to replace manual view lookups and type casting with generated helper classes, ensuring a reflection-free runtime. It differentiates itself by providing mechanisms for binding interaction events directly to methods, eliminating the need for anonymous inner cla
LiveEventBus is an AndroidX communication library that provides a message bus for decoupled data transfer between application components. It utilizes LiveData to implement a lifecycle-aware message bus, ensuring that event subscriptions are automatically managed based on the state of Android components to prevent memory leaks. The library includes an inter-process communication bridge that allows the transfer of serialized data and events between different processes or separate applications. It also features a sticky event dispatcher that retains and immediately delivers the most recent messa
The Reactive Extensions for JavaScript
A collection of reference implementations and code samples for integrating Android camera hardware and software APIs. The project provides demonstrations for using both the Jetpack CameraX library and the low-level Camera2 API to implement photo and video capture features. The repository includes specialized implementations for high-performance recording, such as high-frame-rate slow motion and high-dynamic-range video. It also features examples of machine learning vision, demonstrating how to analyze live camera frames for object detection and QR code scanning. The project covers broad imag
MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability
AndroidX is the official collection of Android Jetpack libraries for building Android applications. It provides a suite of backward-compatible APIs that expose modern platform features on older Android versions, ensuring consistent functionality across devices. The project is built around lifecycle-aware component architecture, with tools like ViewModel for preserving UI data across configuration changes, LiveData for lifecycle-aware data observation, and WorkManager for constraint-based background task scheduling. The project distinguishes itself through compile-time code generation and type
Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets. The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindi
🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀
MVPArms is an Android application framework based on the Model-View-Presenter pattern. It provides a foundation for decoupling business logic from user interface components through a structured architectural implementation. The framework features automated boilerplate generation to produce base classes and dependency injection files, reducing manual project setup. It includes a centralized configuration system to manage global application settings and a dependency injection wrapper that bundles networking and image loading libraries. The project covers lifecycle management by binding logic c
This is a native library for embedding and controlling YouTube video playback within Android applications. It functions as a playback controller that synchronizes video states with the hosting activity or fragment lifecycle. The library includes a framework for replacing default playback controls with custom layouts and interfaces. It also provides a sender extension for streaming YouTube video content from an Android device to Chromecast receivers. The project covers programmatic playback control, background audio playback, and player state monitoring. It also handles network connectivity a
This project is a technical study resource and interview preparation guide focused on the React library. It provides a comprehensive frontend interview question bank and concept references designed to help developers master core library primitives and prepare for professional job interviews. The resource covers detailed explanations of React's technical architecture, including state management patterns, performance optimization strategies, and component design. It serves as a knowledge assessment tool for developers to test their understanding of modern frontend engineering through a structur
material-dialogs is a Kotlin UI component library that provides a collection of modal dialogs and bottom sheets for Android applications. It is designed to implement user interface elements that follow Material Design standards. The library provides specialized modal interfaces for selecting calendar dates, clock times, and specific color values. It also includes system chooser integrations for selecting files and directories from local storage. Beyond pickers, the library covers a broader range of interaction components including text input dialogs, modal alerts with action buttons, and bot
Conductor is a view-based framework for Android applications that provides a system for orchestrating UI components through lifecycle controllers, navigation routers, and UI coordination. It focuses on managing how views are loaded and unloaded to optimize memory and state. The framework features a routing system for managing screen transitions and history stacks, allowing for the creation of hierarchical layouts such as master-detail views by nesting navigation flows. It also includes an interface for implementing custom animations and visual effects during view switches. Its broader capabi
Glide is an image loading and caching library for Android that fetches and decodes images, GIFs, and video stills from local or remote sources. It functions as a media rendering framework and memory management tool designed to resize and downsample assets to fit specific view dimensions. The system prioritizes scrolling performance through a multi-level caching strategy that stores decoded media in memory and raw data on disk. It employs resource pooling to reuse bitmap memory and binds image loading tasks to component lifecycles to automatically release resources and prevent memory leaks. T
Voby is a signal-based framework for building reactive user interfaces. It utilizes fine-grained observables to track data dependencies and trigger direct updates to the document object model, bypassing the need for a virtual DOM reconciliation process. By wrapping state in proxies, the framework automatically intercepts mutations to ensure consistent data flow across the application. The framework distinguishes itself through a focus on performance and lifecycle precision. It employs reactive update batching to group state changes into single execution cycles, minimizing redundant operations
BlocksKit is a low-level utility library for Apple platform development, specifically designed for managing the execution flow and memory of blocks within macOS and iOS applications. It provides a collection of helper functions to simplify the use of blocks in Objective-C and C, reducing boilerplate code and addressing inherent technical limitations. The library focuses on bridging Objective-C blocks with legacy C-based APIs by providing compatible wrapper structures and function-pointer emulation. It enables the passing of blocks through system interfaces that require strict C-style callback
HowToBeAProgrammer is a comprehensive software engineering career guide and professional development framework. It serves as a curated-knowledge repository and handbook designed to help programmers acquire technical habits and social competencies necessary for professional advancement. The project distinguishes itself by integrating technical craftsmanship with a detailed manual for technical leadership and organizational navigation. It provides specific strategies for career progression, such as compensation negotiation, promotion readiness, and the management of professional boundaries to p
RxAndroidBle is a reactive framework designed to simplify Bluetooth Low Energy interactions on Android. It functions as a wrapper for the system Bluetooth stack, converting low-level asynchronous callbacks into observable streams to manage device discovery, connection lifecycles, and data communication. The library distinguishes itself by normalizing inconsistent vendor-specific Bluetooth behaviors into a predictable interface, ensuring reliable cross-device compatibility. It incorporates an internal operation queueing mechanism that serializes concurrent hardware requests, preventing command
KVOController is a thread-safe Objective-C library that serves as a wrapper for Cocoa key-value observing. It manages the monitoring of object property changes and automates the registration and removal of observers. The project focuses on memory safety by tying observer lifecycles to the controller, ensuring observers are removed upon deallocation to prevent leaks and crashes. It includes a thread-safe observation guard to prevent race conditions and observer resurrection when monitoring properties across multiple threads. The library maps object property paths to handler methods, triggerin
LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system architecture, and mobile performance optimization. It serves as a reference for analyzing the Android boot sequence, process bootstrapping, and system service initialization. The project provides detailed guides on mobile performance, including strategies for reducing memory footprints, identifying memory leaks, and optimizing image decoding. It further covers Android inter-process communication using AIDL and the Binder kernel driver, as well as software architecture manuals
This project is a comprehensive technical interview preparation guide and computer science knowledge base. It serves as a structured study resource designed to help software engineers review core engineering concepts and prepare for professional coding assessments. The repository focuses on a wide array of theoretical and practical domains, including detailed references for mobile application architecture and operating system fundamentals. It provides curated materials on software architecture patterns and network protocol analysis to support professional development. The content covers foun
This project is a comprehensive set of standards for the Swift ecosystem, providing a code style guide, API design standards, and a memory management guide. It establishes standardized naming and formatting rules to ensure consistent and maintainable source code. The project includes a linting configuration used by automated tools to detect and enforce syntax patterns. These rules are designed to standardize code style and can be integrated into build phases to block commits with formatting errors. The guidelines cover a broad range of development capabilities, including the use of access mo
Reagent is a framework for building web user interfaces using ClojureScript and React.js. It enables a functional programming approach to declarative UI design, where HTML structures and component hierarchies are defined using vector-based Hiccup syntax instead of JSX. The project differentiates itself through a reactive state management system based on atoms. It tracks which components dereference specific state atoms to trigger automatic re-renders and provides state cursors to isolate updates to specific paths of a larger state atom. It also includes utilities for wrapping native JavaScrip
This project is a collection of reusable components designed to integrate Google Maps into web applications built with the Angular framework. It provides a declarative interface for embedding interactive maps, allowing developers to configure map instances, markers, and overlays directly through standard framework templates and property bindings. The library distinguishes itself by wrapping imperative mapping services into a lifecycle-managed architecture. It handles the asynchronous loading of external mapping scripts and ensures that map instances and event listeners are properly cleaned up