30 open-source projects similar to lukaslechnerdev/kotlin-coroutines-and-flow-usecases-on-android, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Kotlin Coroutines And Flow UseCases On Android alternative.
This project serves as a comprehensive educational roadmap and curriculum for mastering professional Android application development. It provides a structured learning path that guides developers through the essential system design principles, architectural patterns, and technical skills required to build, test, and deploy scalable mobile software. The resource distinguishes itself by organizing complex technical topics into a logical sequence, covering everything from foundational mobile development tooling to advanced software engineering practices. It emphasizes industry-standard patterns
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
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
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
Curio is a Python library for structured concurrency and asynchronous network programming. It serves as a framework for handling thousands of simultaneous TCP connections using non-blocking sockets and high-throughput I/O. The library organizes asynchronous operations into a hierarchy of parent and child coroutines to ensure reliable termination and cleanup of dependent tasks. It provides a toolkit for coordinating these concurrent operations through the use of task groups and timeouts. The framework covers a broad range of concurrency management capabilities, including inter-task communicat
Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions as a multi-protocol RPC server capable of exposing gRPC, Thrift, and REST services on a single unified port. The project is distinguished by its ability to run diverse communication protocols simultaneously and its integrated RPC debugging web console, which allows for the discovery and invocation of remote procedure calls via JSON. It also includes a gRPC to JSON transcoder to enable web client compatibility with Protobuf services. The framework provides a comprehensive sui
Kotlinx.coroutines is a library for managing non-blocking background tasks and structured concurrency within the Kotlin programming language. It provides a framework for executing concurrent operations and synchronizing shared state, replacing traditional thread management and complex callback chains with lightweight primitives. The library utilizes a structured concurrency hierarchy to organize hierarchical background tasks, ensuring that lifecycle management, cancellation, and timeout handling propagate automatically to prevent resource leaks. It employs continuation-passing style transform
This repository provides a collection of reference implementations for building mobile applications using the Kotlin Multiplatform framework. It serves as a practical guide for centralizing core application logic, data handling, and business rules into a single shared codebase while maintaining the ability to build native user interfaces for Android and iOS. The project demonstrates architectural patterns for managing state, persistence, and network synchronization across diverse mobile operating systems. By utilizing common source sets and platform-specific native interop, it enables develop
This project serves as an educational resource and practical guide for developers learning to build native mobile applications on the Android platform using the Kotlin programming language. It provides a structured codebase that demonstrates how to apply modern language syntax and development paradigms to real-world software tasks. The repository focuses on teaching professional mobile application architecture by implementing industry-standard design patterns. Through a series of hands-on examples, it illustrates how to organize application logic, manage component dependencies, and maintain c
This project is a messaging SDK for Android applications, providing the core infrastructure for real-time communication using Kotlin and Jetpack Compose. It offers a suite of modular, declarative UI components and a backend-connected API to manage user authentication, persistent socket connections, and data synchronization. The SDK is distinguished by its offline-first architecture, which utilizes local database persistence to cache conversation history and queue user actions for synchronization once network connectivity is restored. Developers can customize the messaging experience through a
Spring Data Elasticsearch is a data access library that maps Java objects to Elasticsearch indices. It functions as an object mapper, a repository abstraction, and a query DSL wrapper, providing both a standard and a reactive client for executing asynchronous search and persistence operations. The project distinguishes itself by automating data access through repository interfaces, which generate query logic based on method naming conventions. It enables the construction of complex search queries using a domain-specific language and supports advanced search capabilities such as vector similar
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
This project is a cross-platform mobile app template and UI starter for Android and iOS. It provides a foundation for building consistent mobile interfaces from a single declarative codebase. The architecture implements a reactive state management framework using BLoC and RxDart to decouple business logic from the user interface. It also includes an internationalized mobile architecture to manage multi-language support and regional localization across the application. The codebase covers capabilities for mobile client implementation, including the rendering of remote content, local data pers
Android-ZBLibrary is a mobile framework providing core primitives for Android development, including a Model-View-Presenter framework for structural architecture, a network request wrapper, and a local data persistence layer. It also includes a library of reusable interface elements and a background task manager to maintain user interface responsiveness. The framework decouples business logic from user interfaces through its MVP implementation and manages external service integration via tools for HTTP communication, JSON processing, and response caching. The library covers a broad set of ca
This project is a framework for building concurrent, event-driven applications in Ruby. It provides a core engine that orchestrates non-blocking input and output operations, allowing developers to handle high-volume network traffic and system tasks without the complexity of traditional callback-based programming. By leveraging lightweight fibers, the library enables cooperative multitasking that maintains responsiveness during heavy data processing workloads. The framework distinguishes itself through a structured concurrency model that organizes tasks into parent-child hierarchies. This appr
Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover
This project is a collection of Objective-C iOS application demos and code samples. It provides implementations for core development patterns and system-level features within the iOS environment. The repository focuses on Objective-C runtime examples, demonstrating dynamic method dispatch and runtime swizzling to modify object behavior. It also includes a Core Animation UI library and samples for iOS multithreading and concurrency management. The project covers capabilities for UI animation and graphics, concurrent task coordination, and the integration of third-party services for authentica
Pokedex is a reference implementation of an Android application that utilizes the MVVM architecture, Jetpack Compose for its declarative user interface, and Hilt for dependency injection. It serves as a sample project demonstrating a mobile application built with Android Jetpack and a Kotlin Coroutines network client to manage asynchronous data requests. The project implements a modular codebase to optimize build performance and enforce internal boundaries. It features a local persistence layer using the Room library to cache remote data on the device and utilizes Material Motion for fluid in
This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies. The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations. The codebase covers a broad surface of
Bolts-Swift is a concurrency control framework designed to manage asynchronous workflows in native mobile applications. It provides a collection of primitives that allow developers to orchestrate background operations through a promise-based model, replacing deeply nested callback structures with chainable task sequences. The library distinguishes itself by offering granular control over task lifecycles and execution environments. It enables developers to define custom executors for specific threading contexts and provides mechanisms to manually signal the completion, error, or cancellation o
HanekeSwift is a generic caching library for iOS and a specialized image caching framework. It provides a multi-level system that stores arbitrary data types in memory and on persistent disk storage to reduce network requests. The project features a specialized image handler that manages asynchronous loading, resizing, and disk storage for user interface components. It includes a background retrieval system that fetches remote content and automatically populates local caches. The library covers key-value data storage with sequential fallbacks, where it checks memory, then disk, and finally r
Grequests is an asynchronous HTTP client and wrapper for the Requests library that uses Gevent coroutines to execute multiple network requests concurrently. It utilizes a non-blocking connection pool to manage simultaneous outgoing requests and improve throughput compared to sequential execution. The library features an asynchronous response generator that yields HTTP responses as they complete, rather than waiting for an entire batch to finish. It provides a mechanism to limit the number of active connections to manage resource consumption and prevent destination servers from being overloade
Grequests is an asynchronous HTTP batcher and Gevent-based client library used to execute large sets of network requests simultaneously. It functions as a concurrent request wrapper for the Requests library, enabling non-blocking operations to reduce the total time spent waiting for server responses. The project provides a task-pool execution model to handle batch network operations, such as high-throughput web scraping and API polling. It can stream responses as they arrive via a generator, allowing for immediate data processing without waiting for the entire batch to complete. The library
This project is a comprehensive learning resource and technical reference for reactive programming with RxJS. It provides a structured curriculum, curated examples, and an indexed operator catalog to help developers shift from imperative to declarative programming using observable data streams and functional operators. The repository features a library of reactive UI patterns and implementation recipes. These cover practical applications such as type-ahead search, game loops, gesture-based interactions like swipe-to-refresh, and security overlays like lockscreens. The resource covers a broad
This project is a reference implementation of the Model-View-Presenter (MVP) architecture for Android applications. It focuses on separating business logic from the user interface by decoupling data logic, UI presentation, and view layers. The implementation distinguishes itself through the inclusion of a boilerplate generator that automatically creates the activity, presenter, and view files required for the MVP pattern. It utilizes a compile-time dependency injection framework to manage object lifetimes and a reactive programming workflow to handle asynchronous data streams and event propag
CodexMonitor is an AI agent orchestration interface designed for monitoring agentic workflows and managing remote daemon connections. It provides a web-based dashboard for coordinating AI agents across local workspaces and managing the execution of large language model tasks. The system distinguishes itself by integrating AI agents directly into git-based development workflows, synchronizing GitHub issues and pull requests with conversation threads. It uses branch worktree isolation to run tasks in separate physical directory copies, preventing state leakage between concurrent agent activitie
Bond is a Swift data binding framework designed to synchronize data models and user interface elements through one-way and two-way value flows. It functions as a reactive suite for monitoring collection changes, transforming data streams, and bridging user interface events to data models. The project provides a reactive bridge that transforms user interface interactions and protocol delegate method calls into observable signals. It includes a collection observer to monitor changes in arrays and a functional data stream processor that applies operators to modify or combine values before they r
FastHub is a native Android mobile client designed for managing GitHub repositories, issues, and pull requests. It provides a visual interface for interacting with Git version control, acting as a repository manager for editing files, tracking project milestones, and handling account administration from a handheld device. The application supports multi-account authentication, allowing users to connect via tokens or passwords to access different user profiles and enterprise accounts. It distinguishes itself with offline repository browsing, utilizing local database caching to view project data
The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web Service, enabling PHP applications to send authenticated requests and receive structured, typed response objects. It includes a credential resolution chain that automatically locates credentials from environment variables, instance profiles, or configuration files, and supports promise-based asynchronous execution for running multiple API calls concurrently to improve throughput. The SDK distinguishes itself through a middleware pipeline architecture that allows interception and
uamp is an audio media application framework and reference implementation for building music playback applications on Android. It provides a cross-device media framework designed to maintain functional and visual consistency across phones, tablets, Wear OS, Android TV, and Android Auto. The project features specific implementations for automotive-safe music control and Google Cast integration for remote playback. It includes a multi-form factor UI kit that demonstrates how to adapt a single media codebase to various screen sizes and device types. The framework covers core media capabilities