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
630
From Web2 to Web3. A developer story.
fassko
0
960
A journey from Swift to Solidity
fassko
0
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
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
1
180
S3アクセス制御の設計ポイント
tommy0124
3
200
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
150
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
570
AWSで始める実践Dagster入門
kitagawaz
1
740
人工衛星のファームウェアをRustで書く理由
koba789
15
8.3k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Being A Developer After 40
akosma
90
590k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Into the Great Unknown - MozCon
thekraken
40
2k
It's Worth the Effort
3n
187
28k
Writing Fast Ruby
sferik
628
62k
Documentation Writing (for coders)
carmenintech
74
5k
For a Future-Friendly Web
brad_frost
180
9.9k
GitHub's CSS Performance
jonrohan
1032
460k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
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