Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RxJava at Freeletics
Search
Dmytro Khmelenko
November 03, 2016
Programming
0
82
RxJava at Freeletics
How we use RxJava at Freeletics and why we like it
Dmytro Khmelenko
November 03, 2016
Tweet
Share
More Decks by Dmytro Khmelenko
See All by Dmytro Khmelenko
Best of login experience
dkhmelenko
0
110
Best of sign in experience @ Droidcon Lisbon
dkhmelenko
0
68
Red or Green? Let us test
dkhmelenko
0
41
A journey to smaller APK size
dkhmelenko
1
110
A journey to smaller apk size
dkhmelenko
0
59
How Git helps us with localization
dkhmelenko
0
97
Dagger.Android module
dkhmelenko
0
61
MVVM vs. MVP
dkhmelenko
0
46
Unit testing
dkhmelenko
0
35
Other Decks in Programming
See All in Programming
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
CSC509 Lecture 12
javiergs
PRO
0
160
Contemporary Test Cases
maaretp
0
140
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
950
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
210
Jakarta EE meets AI
ivargrimstad
0
670
色々なIaCツールを実際に触って比較してみる
iriikeita
0
340
React CompilerとFine Grained Reactivityと宣言的UIのこれから / The next chapter of declarative UI
ssssota
1
110
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
480
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
as(型アサーション)を書く前にできること
marokanatani
10
2.7k
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
4
1.4k
Featured
See All Featured
Bash Introduction
62gerente
608
210k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Building Applications with DynamoDB
mza
90
6.1k
Agile that works and the tools we love
rasmusluckow
327
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Building Adaptive Systems
keathley
38
2.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Site-Speed That Sticks
csswizardry
0
33
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
GraphQLとの向き合い方2022年版
quramy
43
13k
Transcript
RXJAVA AT FREELETICS Dmytro Khmelenko Software Engineer 3 November 2016
REACTIVE EXTENSION It’s a library for composing asynchronous and event-
based programs by using observable sequences. 2
GET FUNCTIONAL - avoid changing state - avoid mutable data
- declarative expression instead of statement - computation as the evaluation of math function 3
BEFORE 4 private Product getProduct() throws IOException, JSONException { AssetSource
assets = new AssetSource(context, "product_1_month.json"); String productJson = assets.asCharSource(Charsets.UTF_8).read(); return new Product(productJson); } private void handleProduct() { Product product = null; try { product = getProduct(); } catch (IOException | JSONException e) { e.printStackTrace(); } if(product != null) { String interval = product.interval(); //... } }
TRANSFORMATION 5
TRANSFORMATION 6
AFTER 7
GET FUNCTIONAL 8
TESTING 9
TESTING 10
TESTING 11
• Documentation • github.com/ReactiveX/RxJava/wiki • reactivex.io • Book • introtorx.com
12 RESOURCES
QUESTIONS?