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
960
1
Share
iOS の Reactive 系ライブラリ
Rx Ja Night 2016 #1 (
http://connpass.com/event/25532/
) の LT
Motoi Washida
February 25, 2016
More Decks by Motoi Washida
See All by Motoi Washida
CLIPでマルチモーダル画像検索 →とても良い
wm3
3
1.1k
アプリのための「レイヤー化」アーキテクチャ / Droid Meetup 2019-03
wm3
0
2.6k
Material Design の社内勉強会を行った / Android Engineer Design 1
wm3
1
210
API仕様書から自前でコード生成して運用した話 / DroidKaigi 2018 Reject Conference
wm3
0
930
apply() 要らなくない?
wm3
2
1.5k
Firebase Analytics で 画像ロードのパフォーマンス を測定し、改善をした話
wm3
2
1.5k
Tunnel 社内勉強会 Swift の紹介
wm3
0
330
Other Decks in Programming
See All in Programming
エージェンティックRAGにAWSで入門しよう!
har1101
7
1.1k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
920
AIエージェントの隔離技術の徹底比較
kawayu
0
460
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.5k
JavaDoc 再入門
nagise
0
280
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
920
ふつうのFeature Flag実践入門
irof
7
3.6k
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
GitHub Copilot CLIのいいところ
htkym
2
1.3k
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
Believing is Seeing
oripsolob
1
140
The Limits of Empathy - UXLibs8
cassininazir
1
350
How to Talk to Developers About Accessibility
jct
2
220
The Pragmatic Product Professional
lauravandoore
37
7.3k
Building AI with AI
inesmontani
PRO
1
1.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
400
Prompt Engineering for Job Search
mfonobong
0
330
BBQ
matthewcrist
89
10k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
Everyday Curiosity
cassininazir
0
220
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
࣌ؒͳ͍ ൃද࣌ؒతʹ४උ࣌ؒతʹ…
ऴΘΓͰ͢