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
Kristaps Grinbergs
January 23, 2019
Technology
0
1.6k
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
610
From Web2 to Web3. A developer story.
fassko
0
930
A journey from Swift to Solidity
fassko
0
1k
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
1.2k
How to use SwiftUI for rapid development
fassko
0
1.2k
We need to talk about Websockets
fassko
0
2.5k
How to tame Core Animation
fassko
0
1.7k
The A - Z Guide Of iOS App Development
fassko
1
1.6k
RxSwift
fassko
0
71
Other Decks in Technology
See All in Technology
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
440
robocopy の怖い話/scary-story-about-robocopy
emiki
0
460
SRE新規立ち上げ! Hubbleインフラのこれまでと展望
katsuya0515
0
160
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
300
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
1.1k
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
230
ホリスティックテスティングの右側も大切にする 〜2つの[はか]る〜 / Holistic Testing: Right Side Matters
nihonbuson
PRO
0
570
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
110
Google Cloud で学ぶデータエンジニアリング入門 2025年版 #GoogleCloudNext / 20250805
kazaneya
PRO
11
2.6k
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
250
Strands Agents & Bedrock AgentCoreを1分でおさらい
minorun365
PRO
6
220
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
200
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Agile that works and the tools we love
rasmusluckow
329
21k
Six Lessons from altMBA
skipperchong
28
3.9k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
A designer walks into a library…
pauljervisheath
207
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Building an army of robots
kneath
306
45k
Typedesign – Prime Four
hannesfritz
42
2.7k
Optimizing for Happiness
mojombo
379
70k
Designing for humans not robots
tammielis
253
25k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
540
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