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
790
From Web2 to Web3. A developer story.
fassko
0
1.2k
A journey from Swift to Solidity
fassko
0
1.2k
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
1.4k
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
84
Other Decks in Technology
See All in Technology
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
0
170
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
210
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
440
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
230
写真で見るAWS Summit Singapore 2026
k_adachi_01
0
110
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
160
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
200
Gaussian Splattingの表現力を拡張する — 高周波再構成とインタラクションへのアプローチ —
gpuunite_official
0
190
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
110
RedmineをAIで効率的に使う検証
yoshiokacb
0
130
なぜ、IAMロールのプリンシパルに*による部分マッチングが使えないのか? / 20260518-ssmjp-iam-role-principal
opelab
1
130
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
690
30 Presentation Tips
portentint
PRO
1
290
The Pragmatic Product Professional
lauravandoore
37
7.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
190
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
540
Utilizing Notion as your number one productivity tool
mfonobong
4
300
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
35k
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