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
RxSwift Xcoders Riga meetup
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kristaps Grinbergs
January 23, 2019
Technology
0
1.8k
RxSwift Xcoders Riga meetup
Kristaps Grinbergs
January 23, 2019
Tweet
Share
More Decks by Kristaps Grinbergs
See All by Kristaps Grinbergs
Decoding Smart Contracts: From Creation to NFT Integration
fassko
0
770
From Web2 to Web3. A developer story.
fassko
0
1.1k
A journey from Swift to Solidity
fassko
0
1.2k
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
1.3k
How to use SwiftUI for rapid development
fassko
0
1.4k
We need to talk about Websockets
fassko
0
2.8k
How to tame Core Animation
fassko
0
1.8k
The A - Z Guide Of iOS App Development
fassko
1
1.8k
RxSwift
fassko
0
82
Other Decks in Technology
See All in Technology
スピンアウト講座04_ルーティン処理
overflowinc
0
1k
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
150
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
qa
0
160
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
970
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
4
340
SaaSに宿る21g
kanyamaguc
2
140
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
4
13k
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
360
Visional 28新卒プロダクト職(エンジニア/デザイナー)向け 会社説明資料 / Visional Company Briefing for Newgrads 28
visional_engineering_and_design
1
130
脳が溶けた話 / Melted Brain
keisuke69
1
820
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
2
460
AlloyDB 奮闘記
hatappi
0
200
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Code Reviewing Like a Champion
maltzj
528
40k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Building an army of robots
kneath
306
46k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Ethics towards AI in product and experience design
skipperchong
2
230
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
76
Skip the Path - Find Your Career Trail
mkilby
1
88
Rails Girls Zürich Keynote
gr2m
96
14k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Transcript
RxSwift Introduction to reactive programming Kristaps Grinbergs @fassko
RxSwift isn't KVO, ReactNative or ReactJS
About me • Swift developer at Qminder • BCompSci &
MComSci unfinished DmCompSci • > 15 years in IT • love open source
None
None
Agenda • What is Rx • RxSwift and building blocks
• Examples • Pros and Cons
Imperative programming • Saved state • Order of execution •
Side effects
In computing, reactive programming is a programming paradigm oriented around
data flows and the propagation of change. Wikipedia
Reactive programming is programming with asynchronous data streams
Reactive programming • Asynchronous • No saved state • Functional
• Responsive
ReactiveX An API for asynchronous programming with observable streams. •
Microsoft (Rx.NET) - 2009 • Supports many languages • RxSwift - 2015
Rx components • Observable • Observers • Schedulers
None
None
None
Observables Completed and Error will terminate the stream Next Completed
Error
Operators Filtering Transforming Combining
None
None
RxMarbles.com
None
UI bindings RxCocoa
None
None
None
None
Testing • Async XCTest with expectations • RxBlocking making it
synchronous • Using RxTest and custom Schedulers • https://www.raywenderlich.com/7408-testing-your-rxswift-code • https://www.youtube.com/watch?v=FgbTenGH-P0
+ Agile and reusable code Thread safety Eliminate state from
code Testing Well tested Error handling Large community and extensions Extends MVVM
- Steep learning curve Change previous practices Debugging Testing Over-reactive
Overhead
None
None
Resources • http://reactivex.io/ • https://github.com/ReactiveX/RxSwift • https://github.com/RxSwiftCommunity • http://adamborek.com/ •
http://rx-marin.com/ • RayWenderlich RxSwift book • Shai Michal presentations
None