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
84
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
Securing Python Web Applications
dkhmelenko
0
27
Best of login experience
dkhmelenko
0
110
Best of sign in experience @ Droidcon Lisbon
dkhmelenko
0
99
Red or Green? Let us test
dkhmelenko
0
44
A journey to smaller APK size
dkhmelenko
1
120
A journey to smaller apk size
dkhmelenko
0
63
How Git helps us with localization
dkhmelenko
0
100
Dagger.Android module
dkhmelenko
0
68
MVVM vs. MVP
dkhmelenko
0
48
Other Decks in Programming
See All in Programming
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
530
童醫院敏捷轉型的實踐經驗
cclai999
0
210
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
750
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
500
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
910
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
120
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
110
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
15k
GraphRAGの仕組みまるわかり
tosuri13
8
530
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
3
6k
Featured
See All Featured
Navigating Team Friction
lara
187
15k
Documentation Writing (for coders)
carmenintech
72
4.9k
How to Ace a Technical Interview
jacobian
277
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
950
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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?