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.2k
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
240
From Web2 to Web3. A developer story.
fassko
0
520
A journey from Swift to Solidity
fassko
0
630
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
790
How to use SwiftUI for rapid development
fassko
0
840
We need to talk about Websockets
fassko
0
2k
How to tame Core Animation
fassko
0
1.3k
The A - Z Guide Of iOS App Development
fassko
1
1.2k
RxSwift
fassko
0
60
Other Decks in Technology
See All in Technology
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
6
3.4k
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
220
サービス成長と共に肥大化するモノレポ、長くなるCI時間 / As services grow, monorepos get bigger and CI time gets longer
kohbis
5
2k
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
10
1k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
12
2.8k
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
140
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
170
LLM + RAG を使った SORACOM Support Bot の裏側の歴史
soracom
PRO
1
630
GraphQLに入門してみた
chiroruxx
2
110
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
1.5k
HoneycombとOpenTelemetryでオブザーバビリティに入門してみる
sumiren
2
140
XRミーティング 2024-03-20
1ftseabass
PRO
0
100
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
Teambox: Starting and Learning
jrom
126
8.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
Atom: Resistance is Futile
akmur
258
25k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
Gamification - CAS2011
davidbonilla
76
4.5k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
The Cult of Friendly URLs
andyhume
72
5.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.3k
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