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
800
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.9k
The A - Z Guide Of iOS App Development
fassko
1
1.8k
RxSwift
fassko
0
85
Other Decks in Technology
See All in Technology
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
2
260
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
180
Datadog 認定試験の概要と対策
uechishingo
0
230
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
5.8k
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
110
Diagnosing performance problems without the guesswork
elenatanasoiu
0
160
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
330
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.1k
Dynamic Workersについて
yusukebe
2
570
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
2.1k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
How to Talk to Developers About Accessibility
jct
2
220
The Curious Case for Waylosing
cassininazir
1
370
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Abbi's Birthday
coloredviolet
2
7.9k
Claude Code のすすめ
schroneko
67
220k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Leo the Paperboy
mayatellez
7
1.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
WCS-LA-2024
lcolladotor
0
610
Between Models and Reality
mayunak
4
320
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