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.4k
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
380
From Web2 to Web3. A developer story.
fassko
0
670
A journey from Swift to Solidity
fassko
0
760
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
930
How to use SwiftUI for rapid development
fassko
0
970
We need to talk about Websockets
fassko
0
2.2k
How to tame Core Animation
fassko
0
1.4k
The A - Z Guide Of iOS App Development
fassko
1
1.4k
RxSwift
fassko
0
62
Other Decks in Technology
See All in Technology
自作Cコンパイラ 8時間の奮闘
soukouki
0
850
JEP 480: Structured Concurrency
aya_ebata
0
130
サーバー管理しないサーバーサービスManaged DevOps Pool
kkamegawa
0
130
やってやろうじゃないかメカアジャイル! / Let's do it, mechanical agile!
psj59129
1
670
Mocking in Rust Applications
taiki45
2
410
【株式会社ELYZA】|GENIAC成果報告会 自社開発モデルプレゼンテーション
elyza
1
280
The XZ Backdoor Story
fr0gger
0
3.6k
Agile in Automotive Industry, puzzles and lights.
hiranabe
3
1.4k
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
4
460
AI活用したくてもできなかった不動産SaaSの今とこれから
nealle
0
330
サプライチェーン攻撃に備える
ryunen344
0
290
JTCや セキュリティチェックリストが夢の跡
nikinusu
1
660
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
48
13k
GraphQLとの向き合い方2022年版
quramy
43
13k
It's Worth the Effort
3n
182
27k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
8.9k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.2k
The Cult of Friendly URLs
andyhume
76
6k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
Into the Great Unknown - MozCon
thekraken
29
1.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
4 Signs Your Business is Dying
shpigford
179
21k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
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