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
76
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
60
Red or Green? Let us test
dkhmelenko
0
39
A journey to smaller APK size
dkhmelenko
1
100
A journey to smaller apk size
dkhmelenko
0
54
How Git helps us with localization
dkhmelenko
0
93
Dagger.Android module
dkhmelenko
0
49
MVVM vs. MVP
dkhmelenko
0
42
Unit testing
dkhmelenko
0
32
Other Decks in Programming
See All in Programming
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
690
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
750
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
180
Rethinking UI building strategies @ SFI 2024
letelete
0
270
Node.js v22 で変わること
yosuke_furukawa
PRO
9
3.1k
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
320
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
250
Fragment Composition of GraphQL
quramy
4
810
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
520
Hanami and htmx
bkuhlmann
0
210
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
670
Featured
See All Featured
Visualization
eitanlees
136
14k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Fireside Chat
paigeccino
21
2.6k
KATA
mclloyd
15
12k
A Philosophy of Restraint
colly
197
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
How GitHub (no longer) Works
holman
304
140k
Writing Fast Ruby
sferik
621
60k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Embracing the Ebb and Flow
colly
80
4.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Become a Pro
speakerdeck
PRO
11
4.5k
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?