Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ドラクエとFFで学ぶRxSwiftのすすめ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
柿本匡章 Masaaki Kakimoto@kara_mage
September 30, 2016
Programming
760
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ドラクエとFFで学ぶRxSwiftのすすめ
RxSwiftについて、ドラクエとFFにたとえて楽しく説明しました。
柿本匡章 Masaaki Kakimoto@kara_mage
September 30, 2016
More Decks by 柿本匡章 Masaaki Kakimoto@kara_mage
See All by 柿本匡章 Masaaki Kakimoto@kara_mage
個人開発とANDPAD開発との相乗効果
karamage
1
210
何者にもなれなかった自分のための「個人開発のすすめ」
karamage
7
62k
Jest を使って VueコンポーネントとVuexストアの テストコードを書いてみよう!
karamage
3
1.8k
Swiftのクロージャーで苦労じゃ〜
karamage
1
1.2k
Other Decks in Programming
See All in Programming
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
350
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
190
Seven New Principles of Software Engineering
yegor256
0
210
AmebaブログはKMPから卒業します
kmars0605
0
220
AIに “答え“を書かせるのを やめてみた
___akari11
0
130
Event is what happens
moro
2
1.2k
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
1k
オーケストレーション記述言語 Katari
yukikurage
0
170
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
410
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
890
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Chasing Engaging Ingredients in Design
codingconduct
0
370
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
A better future with KSS
kneath
240
18k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
Into the Great Unknown - MozCon
thekraken
41
2.8k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Transcript
υϥΫΤͱFFͰֶͿ RxSwiftͷ͢͢Ί ͔Β·͛ˏ͏·͏·ͩΑΜ
RxSwift͍͍ͧɻ
ࣗݾհ ໊લɹ֟ຊڡষˏ͔Β·͛ ৬ۀɹϑϦʔϥϯεɾΤϯδχΞ WebΞϓϦiOSΞϓϦΛ࡞ΔࣄΛ͍ͯ͠·͢ɻ ग़ɹԬ Swift, Ruby,JS, AWS Lambda https://www.facebook.com/karamage.umauma
ࣗ༝ͳελΠϧͰࣄͯ͠·͢ ;;͠ͳ͕Βϓϩάϥϛϯά
ࣄͰɺ৽͍͠ఔௐπʔϧ࡞Γ·ͨ͠ʂ http://www.zigenchosei.com ϫʔϧυϏδωεαςϥΠτͷ τϨͨ·Ͱհ͞Ε·ͨ͠
“Rx” ϦΞΫςΟϒϓϩάϥϛϯά ͯ͠·͔͢ʁ
ෳࡶͳঢ়ଶذ ॻ͍ͯ·ͤΜ͔ʁ
RxSwift SwiftͰRx (ϦΞΫςΟϒϓϩάϥϛϯά) ͢ΔͨΊͷϥΠϒϥϦ
RxITઓ࢜Λٹ͏ͷ͔?
RxSwiftΛ͢͢ΊΔཧ༝ ɾ࣮ࡍʹࣄͰͬͯΈͯɺരͰ։ൃͰ͖ ͨ ɾόά͕ۃʹݮͬͨ ɾ͋ͨΒ͍ٕ͠ज़Λ·ͳͿͷָ͕͍͠
RxSwiftͱʁ ɾRxͳSwift ɾRxͱ”Reactive Extensions” ɾΦϒδΣΫτࢦΛϦΞΫςΟϒʹ֦ு ɾRxͱɺඇಉظॲཧΛએݴతʹهड़Ͱ͖ΔϥΠϒϥϦͷ ͜ͱ
ϦΞΫςΟϒϓϩάϥϛϯά ैདྷͷखଓ͖ܕϓϩάϥϛϯάͱ Ͳ͏ҧ͏ͷʁ
υϥΫΤͱFFͷҧ͍ ίϚϯυܕઓಆ(υϥΫΤ) VS ΞΫςΟϒλΠϜότϧ(FF)
खଓ͖ܕϓϩάϥϛϯά ɾίϚϯυΛೖྗ ɾλʔϯΛ࣮ߦ ɾຯํͱఢ͕ಈ࡞͢Δ ɾ࣍ͷλʔϯͷίϚϯυೖྗ
ϦΞΫςΟϒϓϩάϥϛϯά ɾλʔϯ͕ଘࡏ͠ͳ͍ ɾ࣌ؒ(ඇಉظͳϑϩʔ)͕ྲྀΕ͍ͯΔ ɾήʔδ͕ຬλϯʹͳΔͱͦͷΩϟϥ͕ߦಈ
ͳͥ”Rx”͕ඞཁͳͷ͔? ɾiOSΞϓϦΛ࡞͍ͬͯΔͱɺ ɾUI ɾσʔλͷঢ়ଶ ɾඇಉظॲཧ ͕ෳࡶʹ͔ΒΈ͍͖͋ͬͯ·͢
ඇಉظʹAPIୟ͘ܥͷॲཧ ɾAPI͔ΒσʔλΛऔ͖ͬͯͯɺ ඇಉظʹԿ͔͢ΔܥͷΞϓϦɺ ίʔυ͕ෳࡶʹͳΓ͕ͪ
ྫ͑ ɾϘλϯॳظঢ়ଶඇ׆ੑ ɾςΩετϘοΫεʹͳΜ͔ೖྗ ɾϘλϯ׆ੑԽ ɾϘλϯΛ͓ͨ͠Β ɾϘλϯΛඇ׆ੑʹͯ͠ ɾඇಉظʹAPI 1, API2Λୟ͘ ɾAPI1ͱAPI2྆ํΛͪ߹Θ͔ͤͯ͠ΒϨεϙϯεσʔλΛςʔϒϧϏϡʔʹදࣔ
ɾϨεϙϯεσʔλΛݩʹAPI 2ΛඇಉظͰୟ͘ ɾAPI2 ͷϨεϙϯεσʔλΛ͝ʹΐ͝ʹΐ ɾλΠϚʔ͕ൃಈ ɾXඵ͓͖ʹAPI 3Λୟ͘ ɾAPI3 ʹϨεϙϯεσʔλ͕͋Δͱ͖ɺUIͷ௨ཝʹදࣔ ɾϘλϯ׆ੑԽ(ͨͩ͠ࡾճ·Ͱ͔͠ԡͤͳ͍)
“ͳ͢”͚ͩͳͷʹ݅ذ ͱ͔ɺ͋Γ͑ͳ͍ʂ
“ηʔϒ”͚ͩͳͷʹ ̔ճೖྗͱ͔ɺ͋Γ͑ͳ͍ʂ
ذ͕ෳࡶʹͳΔͱ σόοάେม
Θ͔ΒΜɺϝϯςෆೳ ɾঢ়ଶ͕ෳࡶԽ ifจذ ࠈ ɾΠϕϯτͷίʔϧόοΫ ࠈ
None
None
RxSwiftͳΒ ඇಉظϑϩʔΛ؆ܿʹ੍ޚ ɾඇಉظॲཧΛͯ͠ɺσʔλͷঢ়ଶʹଈͯ͠ UIʹө͢ΔॲཧɺෳࡶʹͳΓ͕ͪ ɾRxSwiftͰඇಉظॲཧΛUIʹө͢ΔॲཧΛ ͔ΜͨΜʹॻ͖·͠ΐ͏ʂ
ೋͭҎ্ͷ)551ϦΫΤετΛͪड͚Δ MFUJOU0C1VCMJTI4VCKFDU4USJOH MFUJOU0C1VCMJTI4VCKFDU*OU @0CTFSWBCMFDPNCJOF-BUFTU JOU0C JOU0C \ a
a ^ TVCTDSJCF\ QSJOU ^
APIඇಉظॲཧͷ ࡾछͷਆث ɾRxSwift ɾAlamofire ɾRealm+ObjectMapper
[Swift] RxSwift + Alamofire + ObjectMapper + Realm ͷجຊతͳ͍ํ http://qiita.com/syou007/items/
60e84366a97ee28757bc
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠