$30 off During Our Annual Pro Sale. View Details »
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
970
アプリのための「レイヤー化」アーキテクチャ / 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
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
Cap'n Webについて
yusukebe
0
120
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
420
関数の挙動書き換える
takatofukui
4
780
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
150
[SF Ruby Conf 2025] Rails X
palkan
0
480
認証・認可の基本を学ぼう後編
kouyuume
0
180
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
380
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
790
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
120
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
37
24k
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
5.4k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Site-Speed That Sticks
csswizardry
13
990
The World Runs on Bad Software
bkeepers
PRO
72
12k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Practical Orchestrator
shlominoach
190
11k
Done Done
chrislema
186
16k
Being A Developer After 40
akosma
91
590k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
RailsConf 2023
tenderlove
30
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Designing for Performance
lara
610
69k
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
࣌ؒͳ͍ ൃද࣌ؒతʹ४උ࣌ؒతʹ…
ऴΘΓͰ͢