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
910
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
アプリのための「レイヤー化」アーキテクチャ / Droid Meetup 2019-03
wm3
0
2.5k
Material Design の社内勉強会を行った / Android Engineer Design 1
wm3
1
170
API仕様書から自前でコード生成して運用した話 / DroidKaigi 2018 Reject Conference
wm3
0
850
apply() 要らなくない?
wm3
2
1.3k
Firebase Analytics で 画像ロードのパフォーマンス を測定し、改善をした話
wm3
2
1.4k
Tunnel 社内勉強会 Swift の紹介
wm3
0
280
Other Decks in Programming
See All in Programming
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
250
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
550
Rails アプリ地図考 Flush Cut
makicamel
1
110
技術を根付かせる / How to make technology take root
kubode
1
240
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
5
3.9k
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
950
Amazon Bedrock Multi Agentsを試してきた
tm2
1
280
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
730
Ruby on cygwin 2025-02
fd0
0
140
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
1
180
Pulsar2 を雰囲気で使ってみよう
anoken
0
230
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Faster Mobile Websites
deanohume
306
31k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Adopting Sorbet at Scale
ufuk
74
9.2k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
A Philosophy of Restraint
colly
203
16k
Designing Experiences People Love
moore
139
23k
Become a Pro
speakerdeck
PRO
26
5.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
320
Side Projects
sachag
452
42k
The Language of Interfaces
destraynor
156
24k
Scaling GitHub
holman
459
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
࣌ؒͳ͍ ൃද࣌ؒతʹ४උ࣌ؒతʹ…
ऴΘΓͰ͢