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
1.8k
0
Share
RxSwift Xcoders Riga meetup
Kristaps Grinbergs
January 23, 2019
More Decks by Kristaps Grinbergs
See All by Kristaps Grinbergs
Decoding Smart Contracts: From Creation to NFT Integration
fassko
0
780
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
83
Other Decks in Technology
See All in Technology
KGDC_13_Amazon Q Developerで挑む! 13事例から見えたAX組織変革の最前線_公開情報
kikugawa
0
110
昔はシンプルだった_AmazonS3
kawaji_scratch
0
310
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
320
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
260
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
2026年、知っておくべき最新 サーバレスTips10選/serverless-10-tips
slsops
13
5k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
280
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
1
490
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
270
クラウドネイティブな開発 ~ 認知負荷に立ち向かうためのコンテナ活用
literalice
0
100
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.3k
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.6k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Skip the Path - Find Your Career Trail
mkilby
1
110
Making Projects Easy
brettharned
120
6.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
A Modern Web Designer's Workflow
chriscoyier
698
190k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
170
A designer walks into a library…
pauljervisheath
211
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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