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
iOS の Reactive 系ライブラリ
Search
Motoi Washida
February 25, 2016
Programming
1
940
iOS の Reactive 系ライブラリ
Rx Ja Night 2016 #1 (
http://connpass.com/event/25532/
) の LT
Motoi Washida
February 25, 2016
Tweet
Share
More Decks by Motoi Washida
See All by Motoi Washida
CLIPでマルチモーダル画像検索 →とても良い
wm3
3
1k
アプリのための「レイヤー化」アーキテクチャ / Droid Meetup 2019-03
wm3
0
2.5k
Material Design の社内勉強会を行った / Android Engineer Design 1
wm3
1
200
API仕様書から自前でコード生成して運用した話 / DroidKaigi 2018 Reject Conference
wm3
0
910
apply() 要らなくない?
wm3
2
1.4k
Firebase Analytics で 画像ロードのパフォーマンス を測定し、改善をした話
wm3
2
1.5k
Tunnel 社内勉強会 Swift の紹介
wm3
0
310
Other Decks in Programming
See All in Programming
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
140
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
290
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
200
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
630
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
220
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
310
クラウドに依存しないS3を使った開発術
simesaba80
0
180
Java 25, Nuevas características
czelabueno
0
120
JETLS.jl ─ A New Language Server for Julia
abap34
2
460
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
120
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
97
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
37
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Why Our Code Smells
bkeepers
PRO
340
57k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
74
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Making Projects Easy
brettharned
120
6.5k
Abbi's Birthday
coloredviolet
0
3.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Paper Plane
katiecoart
PRO
0
44k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
iOS ͷ Reactive ܥϥΠϒϥϦ ా ج @wm3 2015/2/25 Rx Ja
Night 2016 #1 LT
͍͖ͳΓͰ͕͢
JVM ܥݴޠͷ ͠·ͤΜ
શ෦ Swift ͷ
ͱ͍͏ͷ
ઌि༵͘Β͍ ʮ3Yؔͷษڧ͔͋ΔΒ͍͠ʯ ʮ໘നͦ͏ɻࢀՃ͍ͨ͠ʂʯ ʮ$POOQBTTΛݟͯΈΔͱʜʯ
ࢀՃͷԠืঢ়گ
70ਓͪ!? (࣌)
LT ͳΜ͔ ۭ͍͍ͯͨ
͡Ό͋ൺֱରͱͯ͠ iOS Λޠ͓͚͍͍͔ͬͯ!
☺
͍͍Ͱ͔͢?
None
Ͱ
܅
୭
ࣗݾհ !XN UXJUUFSଞ اۀ͚ͷ4/4ఏڙاۀۈ ϝοηʔδΞϓϦ࡞ͬͯͨ ॳΊʙ "OESPJEJ04όοΫΤϯυ +BWB
Λ୲ ཁશ෦ ࣄͰͷ ΞϓϦ։ൃॳΊͯ
ΞϓϦ։ൃମ੍ "OESPJEJ04ͷઃܭۃྗڞ௨ Խ ڞ௨ԽͷҰͱͯ͠3YΛ༻ ओʹ௨৴෦ ͪͳΈʹαʔόʔ3Y༻
Android ͱͷҧ͍ͱ͍͏؍Ͱ Swift Ͱͷ Rx पΓͷڥͷ
Swift ͷ Reactive ܥ ϥΠϒϥϦ
ϥΠϒϥϦ 3Y4XJGUʜ3YͷҠ২ 3FBDUJWF$PDPB 3"$ όΠϯσΟϯάܥϥΠϒϥϦ৭ʑ ˞ৄ͘͠ͳ͍ͷͰޠΓ·ͤΜ
RxSwift
3Y4XJGU 3Yͷ4XJGUҠ২൛ (JU)VCͷ3FBDUJWF9ཧԼ 3Y+BWBͱͱ͍ͯۙ"1*
3Y+BWB ຖඵ 1, 2, 3, ... ͱग़ྗ
3Y4XJGU ຖඵ 1, 2, 3, ... ͱग़ྗ
͍͍ͩͨಉ͡!
3Y4XJGU3Y+BWBͷڞ௨ ΦϖϨʔλʔ NBQ UISPUUMF PCTFSWF0O 4VCKFDU 1VCMJTI4VCKFDU
ҧ͍͋Δ
1. Variable
ྫ7BSJBCMF
7BSJBCMF #FIBWJPS4VCKFDUΈ͍ͨͳͷ ه๏͕ࣗવ $PNQMFUFE&SSPSΛฦ͞ͳ͍
2. Protocol Extension
Observable ʹ ͖ͳϝιουΛՃՄೳ
(Swift ࣗମͷػೳ͚ͩͲ)
ྫ'J[[#V[[ԋࢉࢠ
None
ྫ0QUJPOBM֎͠ ४උ
ྫ0QUJPOBM֎͠ ఆٛ
ྫ0QUJPOBM֎͠ ݺͼग़͠ nil ͕ subscribe ʹ͞Εͳ͍
ྫ0QUJPOBM֎͠ Τϥʔ
ศར
ෆศ ͳͱ͜Ζ
Swift
GC ͕ͳ͍
None
॥ࢀর NG
♻
ରࡦ
ʮશ෦ Dispose ͢Ε͍͍ ͡Όͳ͍ʯ
%JTQPTF#BH ղ์࣌ʹҰؾʹVOTVCTDSJCF͢ ΔͨΊͷόοά
None
໘ͳ͚ͩͱݴ͑ ͦͷ௨Γ
ReactiveCocoa
࣌ؒͳ͍ ൃද࣌ؒతʹ४උ࣌ؒతʹ…
ऴΘΓͰ͢