Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RxJava at Freeletics
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Dmytro Khmelenko
November 03, 2016
Programming
90
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RxJava at Freeletics
How we use RxJava at Freeletics and why we like it
Dmytro Khmelenko
November 03, 2016
More Decks by Dmytro Khmelenko
See All by Dmytro Khmelenko
Securing High-Risk Django Applications: Lessons from the Payment Domain
dkhmelenko
0
53
Securing Python Web Applications
dkhmelenko
0
43
Best of login experience
dkhmelenko
0
120
Best of sign in experience @ Droidcon Lisbon
dkhmelenko
0
130
Red or Green? Let us test
dkhmelenko
0
52
A journey to smaller APK size
dkhmelenko
1
130
A journey to smaller apk size
dkhmelenko
0
78
How Git helps us with localization
dkhmelenko
0
110
Dagger.Android module
dkhmelenko
0
79
Other Decks in Programming
See All in Programming
setup-vp GitLab対応の裏側
naokihaba
0
150
Are APIs Still Relevant in the AI Era?
soyuka
0
420
Webの地図
yosuke_furukawa
PRO
6
5k
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
290
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.4k
FreeBSDでZabbixを動かす
kenkino
0
350
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
540
APNsからLive Activityを開始する話
yumnumm
0
150
Agents on Rails - Rails at Scale 2026
irinanazarova
0
330
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
340
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
4k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
So, you think you're a good person
axbom
PRO
2
2.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Exploring anti-patterns in Rails
aemeredith
4
520
New Earth Scene 8
popppiees
4
2.6k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
560
Ethics towards AI in product and experience design
skipperchong
2
410
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
Amusing Abliteration
ianozsvald
1
330
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
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?