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.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
910
From Web2 to Web3. A developer story.
fassko
0
1.3k
A journey from Swift to Solidity
fassko
0
1.3k
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
1.5k
How to use SwiftUI for rapid development
fassko
0
1.5k
We need to talk about Websockets
fassko
0
2.9k
How to tame Core Animation
fassko
0
2k
The A - Z Guide Of iOS App Development
fassko
1
1.9k
RxSwift
fassko
0
96
Other Decks in Technology
See All in Technology
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
200
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
AIエージェントのためのデータ設計
daiz21
0
520
OAuth SPIFFE Client Authentication(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
Digitization部 紹介資料
sansan33
PRO
2
7.8k
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
3
900
Introduction to Bill One Development Engineer
sansan33
PRO
0
480
dbt in Microsoft Fabric
ryomaru0825
0
300
:syncing_time:
sksat
3
840
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
6
3.3k
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
3.8k
Crafting Experiences
bethany
1
270
Navigating Team Friction
lara
192
16k
エンジニアに許された特別な時間の終わり
watany
108
250k
Odyssey Design
rkendrick25
PRO
2
780
RailsConf 2023
tenderlove
30
1.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
390
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Raft: Consensus for Rubyists
vanstee
141
7.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
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