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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
780
From Web2 to Web3. A developer story.
fassko
0
1.1k
A journey from Swift to Solidity
fassko
0
1.2k
A journey into the SwiftUI world - Tech Stash by Mintos
fassko
0
1.3k
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
83
Other Decks in Technology
See All in Technology
KGDC_13_Amazon Q Developerで挑む! 13事例から見えたAX組織変革の最前線_公開情報
kikugawa
0
110
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.3k
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
220
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
2
18k
AI時代のガードレールとしてのAPIガバナンス
nagix
0
210
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
1.1k
QGISプラグイン CMChangeDetector
naokimuroki
1
340
インターネットの技術 / Internet technology
ks91
PRO
0
170
Azure PortalなどにみるWebアクセシビリティ
tomokusaba
0
380
生成AI時代のエンジニア育成 変わる時代と変わらないコト
starfish719
0
9.2k
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
120
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
Chasing Engaging Ingredients in Design
codingconduct
0
170
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
270
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Abbi's Birthday
coloredviolet
2
7k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Accessibility Awareness
sabderemane
0
100
How to train your dragon (web standard)
notwaldorf
97
6.6k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
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