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
640
From Web2 to Web3. A developer story.
fassko
0
980
A journey from Swift to Solidity
fassko
0
1.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.6k
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
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
370
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
710
OCIjp_Oracle AI World_Recap
shinpy
1
150
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
360
CoRL 2025 Survey
harukiabe
1
240
WEBサービスを成り立たせるAWSサービス
takano0131
1
200
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
250
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
2
1k
もう外には出ない。より快適なフルリモート環境を目指して
mottyzzz
10
6.5k
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
140
Implementing and Evaluating a High-Level Language with WasmGC and the Wasm Component Model: Scala’s Case
tanishiking
0
170
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
310
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Music & Morning Musume
bryan
46
6.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Building Adaptive Systems
keathley
44
2.8k
Statistics for Hackers
jakevdp
799
220k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Building Applications with DynamoDB
mza
96
6.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
920
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
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