All Projects → jraska → RxJava-Codelab

jraska / RxJava-Codelab

Licence: other
Codelab project for demonstration of RxJava features

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to RxJava-Codelab

Rxjava2 Extras
Utilities for use with RxJava 2
Stars: ✭ 167 (+279.55%)
Mutual labels:  reactivex, reactive, rxjava
Rxjava2 Jdbc
RxJava2 integration with JDBC including Non-blocking Connection Pools
Stars: ✭ 360 (+718.18%)
Mutual labels:  reactive, rxjava, reactive-programming
Rx.Http
A reactive way to make HTTP Request in .NET Core 🚀
Stars: ✭ 62 (+40.91%)
Mutual labels:  reactivex, reactive, reactive-programming
Awesome Rxjs
A collection of awesome RxJS resources
Stars: ✭ 314 (+613.64%)
Mutual labels:  reactivex, reactive, reactive-programming
Ayanami
🍭 A better way to react with state
Stars: ✭ 129 (+193.18%)
Mutual labels:  reactivex, reactive, reactive-programming
Rxdownloader
- Reactive Extension Library for Android to download files
Stars: ✭ 40 (-9.09%)
Mutual labels:  reactivex, reactive, reactive-programming
Rxjava Android Samples
Learning RxJava for Android by example
Stars: ✭ 7,520 (+16990.91%)
Mutual labels:  reactive, rxjava, reactive-programming
Awesome Reactive Programming
A repository for sharing all the resources available on Reactive Programming and Reactive Systems
Stars: ✭ 163 (+270.45%)
Mutual labels:  reactivex, reactive, reactive-programming
rxify
Now: RxJava Playground, Previous: Demo for the talk at DroidconIN 2016, Droidcon Boston 2017 and Codelab for GDG January Meetup
Stars: ✭ 59 (+34.09%)
Mutual labels:  rxjava, reactive-programming, codelab
Akka
Examples and explanations of how Akka toolkit works
Stars: ✭ 20 (-54.55%)
Mutual labels:  reactive, reactive-programming
assembler
Functional, type-safe, stateless reactive Java API for efficient implementation of the API Composition Pattern for querying/merging data from multiple datasources/services, with a specific focus on solving the N + 1 query problem
Stars: ✭ 102 (+131.82%)
Mutual labels:  reactive, reactive-programming
purescript-pop
😃 A functional reactive programming (FRP) demo created with PureScript events and behaviors.
Stars: ✭ 33 (-25%)
Mutual labels:  reactive, reactive-programming
ureact
Minimalistic reactive library for c++
Stars: ✭ 122 (+177.27%)
Mutual labels:  reactive, reactive-programming
SwiftObserver
Elegant Reactive Primitives for Clean Swift Architecture #NoRx
Stars: ✭ 14 (-68.18%)
Mutual labels:  reactive, reactive-programming
KotlinReactiveMS
An educational project to learn reactive programming with Spring 5 and Kotlin
Stars: ✭ 33 (-25%)
Mutual labels:  reactive, reactive-programming
rxjava2-http
Transmit RxJava2 Flowable over http with non-blocking backpressure
Stars: ✭ 19 (-56.82%)
Mutual labels:  reactive, rxjava
react-mobx-router5
React components for routing solution using router5 and mobx
Stars: ✭ 58 (+31.82%)
Mutual labels:  reactive, reactive-programming
springboot-rsocketjwt-example
Example of using JWT with RSocket and Spring Boot
Stars: ✭ 26 (-40.91%)
Mutual labels:  reactive, reactive-programming
fpEs
Functional Programming for EcmaScript(Javascript)
Stars: ✭ 40 (-9.09%)
Mutual labels:  reactive, reactive-programming
servant
Serving you with GoogleApiClients any way you like them
Stars: ✭ 17 (-61.36%)
Mutual labels:  reactivex, rxjava

RxJava Codelabs: Basic + Advanced

Build Status

Introduction

Reactive programming is mentioned everywhere these days. It solves many common issues of imperative programming in an elegant way. Dozens of libraries are springing up, giving developers access to powerful tools that make their everyday development life easier. However, it can take time to learn how to wield these tools effectively as they are often difficult to understand and if used improperly they can sometimes do more harm than good.

These codelabs will first go through RxJava basics, in order to demonstrate the main concepts and common use-cases of the ReactiveX framework, as well as reactive programming in general. It should make RxJava and reactive programming much clearer to you and give you lots of ideas of when and where you might want to use it. Once you have seen what it can do, you won't want to go back to how you were programming before!

The advanced codelab will take you more into deep of reactive world, we will go into detail and we will discover more of its beauty, because its endless.

Prerequisites

  1. Java 8 SDK
  2. IntelliJ (any edition) or any other IDE you like

Project setup

  1. Clone this repo (GitHub Desktop, SourceTree or git clone https://github.com/jraska/RxJava-Codelab.git)
  2. Open it in IntelliJ or other IDE
  3. Try to run SetupTest from your IDE
  4. Call for help if it doesn't work

RxJava Basics Codelab covers (slides)

  • What is a stream? Observable contract
  • How to create Observables
  • Transformations
  • Composing
  • Error handling
  • Threading - Schedulers

RxJava Advanced Codelab covers (slides)

  • Observable feat. Single, Maybe, Completable
  • Hot/Cold Observables
  • Testing
  • Use cases - cache/refresh, polling, caching, ...
  • Backpressure - Observable vs. Flowable
  • Other reactive libraries interoperability

How to use the Code Lab

  • There are tasks for different areas formed as unit tests and having a format Task{Order}{AreaOfFocus} (e.g. Task2Transformations).
  • Each of these tasks has a method with a TODO explaining what to do and giving hint which operator might be useful. Very often there are multiple solutions to given problem.
  • Each Task has a solution with format SolutionTask{Order}{AreaOfFocus} (e.g. SolutionTask2Transformations).
  • Recommended order is doing the tasks by order of their numbers, however jumping based on area of interest is encouraged as well.

Links

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].