All Projects → ReactiveCircus → blueprint

ReactiveCircus / blueprint

Licence: Apache-2.0 license
Architectural frameworks and toolkits for bootstrapping modern Android codebases.

Programming Languages

kotlin
9241 projects
shell
77523 projects

Projects that are alternatives of or similar to blueprint

Okhttp Rxhttp
🔥🔥🔥 Based on OkHttp encapsulation, support Kotlin Coroutines、RxJava2、RxJava3; 30s to get started.
Stars: ✭ 3,170 (+5461.4%)
Mutual labels:  rxjava2, kotlin-coroutines, rxjava3
android-compose-mvvm-foodies
Android sample app following best practices: Kotlin, Compose, Coroutines and Flow, Hilt, JetPack Navigation, ViewModel, MVVM, Retrofit, Coil
Stars: ✭ 374 (+556.14%)
Mutual labels:  kotlin-coroutines, kotlin-flow
Retrofit2-Flow-Call-Adapter
A Retrofit 2 adapter for Kotlin Flows.
Stars: ✭ 41 (-28.07%)
Mutual labels:  kotlin-coroutines, kotlin-flow
StateFlow-MVVM-MVI-demo
Using StateFlow as LiveData | StateFlow instead of LiveData | LiveData to StateFlow | StateFlow MVVM | StateFlow sample | StateFlow demo
Stars: ✭ 144 (+152.63%)
Mutual labels:  kotlin-coroutines, kotlin-flow
Poolakey
Android In-App Billing SDK for Cafe Bazaar App Store
Stars: ✭ 60 (+5.26%)
Mutual labels:  rxjava2, rxjava3
Myweatherkotlinflow
Android app that shows weather at your current location or any custom location you specify. Uses Kotlin Flow for data streaming and coroutines for asynchronous work. Also leverages Room, navigation component, Viewmodel and Livedata Jetpack components with MVVM presentation layer architecture. Dagger 2 with Dagger android for dependency injection
Stars: ✭ 23 (-59.65%)
Mutual labels:  rxjava2, kotlin-coroutines
Kuroba Experimental
Free and open source image board browser
Stars: ✭ 76 (+33.33%)
Mutual labels:  rxjava2, kotlin-coroutines
Flyabbit
🔥组件化,Retrofit,Rxjava2,dagger2,Mvp ,ReactNative ,Atlas(插件化)
Stars: ✭ 219 (+284.21%)
Mutual labels:  rxjava2
Kpermissions
A Kotlin library which helps to request runtime permissions in Android.
Stars: ✭ 253 (+343.86%)
Mutual labels:  rxjava2
Awesome Wanandroid
⚡致力于打造一款极致体验的 http://www.wanandroid.com/ 客户端,知识和美是可以并存的哦QAQn(*≧▽≦*)n
Stars: ✭ 2,525 (+4329.82%)
Mutual labels:  rxjava2
Rxble
使用 RxJava 封装的低功耗蓝牙类库
Stars: ✭ 203 (+256.14%)
Mutual labels:  rxjava2
Reactivenetwork
Android library listening network connection state and Internet connectivity with RxJava Observables
Stars: ✭ 2,484 (+4257.89%)
Mutual labels:  rxjava2
RxPager
RxPager is an Android library that helps handling paginated results in a reactive way
Stars: ✭ 56 (-1.75%)
Mutual labels:  rxjava2
RxKata
Learn Rx through Katas and exercises
Stars: ✭ 19 (-66.67%)
Mutual labels:  rxjava2
Pandaeye
一款基于 mvp+rxjava+retrofit+Picasso 的应用,内容来自知乎日报,网易新闻,咪咕视频。实现了新闻列表的磁盘缓存
Stars: ✭ 242 (+324.56%)
Mutual labels:  rxjava2
Rxfit
🏃Reactive Fitness API Library for Android and RxJava
Stars: ✭ 218 (+282.46%)
Mutual labels:  rxjava2
Android-Starter-Kit
This is up-to-date android studio project for native android application, that is using modern tools and libraries.
Stars: ✭ 16 (-71.93%)
Mutual labels:  rxjava2
Rxjava3 Android Examples
RxJava 3 Android Examples - Migration From RxJava 2 to RxJava 3 - How to use RxJava 3 in Android
Stars: ✭ 213 (+273.68%)
Mutual labels:  rxjava2
Android Mvvm Architecture
This repository contains a detailed sample app that implements MVVM architecture using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView
Stars: ✭ 2,720 (+4671.93%)
Mutual labels:  rxjava2
the-white-rabbit
The White Rabbit is an asynchronous RabbitMQ (AMQP) client based on Kotlin coroutines
Stars: ✭ 90 (+57.89%)
Mutual labels:  kotlin-coroutines

Blueprint

CI Maven Central Android API License

Architectural frameworks and toolkits for bootstrapping modern Android codebases, written in Kotlin.

Motivation

These days whenever I kickoff a new Android project I always start by adding a bunch of infrastructure code (frameworks and toolkits) I developed over the years as they work really well in modern Android codebases which follow Clean Architecture and reactive paradigm, with strong emphasis on automated UI testing.

These frameworks and toolkits have now become a library.

Dependencies

Blueprint offers multiple independent artifacts covering different use cases. But they are all "optional" which means you can choose to only use the ones that make sense for your codebase.

Dependencies are hosted on Maven Central.

Latest stable version:

def blueprint_version = "1.18.0"

If you use Kotlin Coroutines and Flow:

// Building Interactors based on Kotlin Coroutines and Flow
implementation "io.github.reactivecircus.blueprint:blueprint-interactor-coroutines:${blueprint_version}"

// Wrapper API for doing async work with Kotlin CoroutineDispatcher
implementation "io.github.reactivecircus.blueprint:blueprint-async-coroutines:${blueprint_version}"

// Android UI extensions, utilities and widgets
implementation "io.github.reactivecircus.blueprint:blueprint-ui:${blueprint_version}"

// Android UI testing framework with Testing Robot DSL
implementation "io.github.reactivecircus.blueprint:blueprint-testing-robot:${blueprint_version}"

If you use RxJava 2:

// Building Interactors based on RxJava 2
implementation "io.github.reactivecircus.blueprint:blueprint-interactor-rx2:${blueprint_version}"

// Wrapper API for doing async work with RxJava 2 Schedulers
implementation "io.github.reactivecircus.blueprint:blueprint-async-rx2:${blueprint_version}"

// Android UI extensions, utilities and widgets
implementation "io.github.reactivecircus.blueprint:blueprint-ui:${blueprint_version}"

// Android UI testing framework with Testing Robot DSL
implementation "io.github.reactivecircus.blueprint:blueprint-testing-robot:${blueprint_version}"

If you use RxJava 3:

// Building Interactors based on RxJava 3
implementation "io.github.reactivecircus.blueprint:blueprint-interactor-rx3:${blueprint_version}"

// Wrapper API for doing async work with RxJava 3 Schedulers
implementation "io.github.reactivecircus.blueprint:blueprint-async-rx3:${blueprint_version}"

// Android UI extensions, utilities and widgets
implementation "io.github.reactivecircus.blueprint:blueprint-ui:${blueprint_version}"

// Android UI testing framework with Testing Robot DSL
implementation "io.github.reactivecircus.blueprint:blueprint-testing-robot:${blueprint_version}"

Snapshots of the development version are available in Sonatype's snapshots repository.

Samples

There are a couple of sample apps demonstrating how you may use Blueprint, one based on Kotlin Coroutines and the other one based on RxJava 2.

Overview

The following is a high-level overview of what each Blueprint artifact does. For details and sample usage please check the samples and the documentation (README.md) in each of the sub-projects.

Blueprint Interactor Coroutines

This artifact provides 2 base classes for building Interactors (use case in Clean Architecture):

  • SuspendingInteractor for single-shot tasks
  • FlowInteractor for cold streams

Please check blueprint-interactor-coroutines for details.

Blueprint Async Coroutines

This artifact provides a CoroutineDispatcherProvider API for encapsulating the threading behavior with Kotlin CoroutineDispatcher.

Please check blueprint-async-coroutines for details.

Blueprint Interactor RxJava 2

This artifact provides 3 base classes for building Interactors (use case in Clean Architecture):

  • SingleInteractor for single-shot (with result) tasks
  • CompletableInteractor for single-shot (no result) tasks
  • ObservableInteractor for cold streams

Please check blueprint-interactor-rx2 for details.

Blueprint Async RxJava 2

This artifact provides a SchedulerProvider API for encapsulating the threading behavior with RxJava 2 Schedulers.

Please check blueprint-async-rx2 for details.

Blueprint Interactor RxJava 3

This artifact provides 3 base classes for building Interactors (use case in Clean Architecture):

  • SingleInteractor for single-shot (with result) tasks
  • CompletableInteractor for single-shot (no result) tasks
  • ObservableInteractor for cold streams

Please check blueprint-interactor-rx3 for details.

Blueprint Async RxJava 3

This artifact provides a SchedulerProvider API for encapsulating the threading behavior with RxJava 3 Schedulers.

Please check blueprint-async-rx3 for details.

Blueprint UI

This artifact provides convenient Kotlin extensions and widgets for working with the Android UI toolkit.

Please check blueprint-ui for details.

Blueprint Testing Robot

This artifact provides a UI testing framework and Testing Robot DSL for authoring structured, readable, and framework-agnostic UI tests.

Please check blueprint-testing-robot for details.

License

Copyright 2019 Yang Chen

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].