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
430
From Web2 to Web3. A developer story.
fassko
0
720
A journey from Swift to Solidity
fassko
0
820
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
980
How to use SwiftUI for rapid development
fassko
0
1k
We need to talk about Websockets
fassko
0
2.3k
How to tame Core Animation
fassko
0
1.5k
The A - Z Guide Of iOS App Development
fassko
1
1.4k
RxSwift
fassko
0
63
Other Decks in Technology
See All in Technology
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
140
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
650
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
Can We Measure Developer Productivity?
ewolff
1
150
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
120
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
How GitHub (no longer) Works
holman
310
140k
Making Projects Easy
brettharned
115
5.9k
A designer walks into a library…
pauljervisheath
204
24k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Writing Fast Ruby
sferik
627
61k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Faster Mobile Websites
deanohume
305
30k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Navigating Team Friction
lara
183
14k
Bash Introduction
62gerente
608
210k
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