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
ドラクエとFFで学ぶRxSwiftのすすめ
Search
柿本匡章 Masaaki Kakimoto@kara_mage
September 30, 2016
Programming
2
730
ドラクエとFFで学ぶRxSwiftのすすめ
RxSwiftについて、ドラクエとFFにたとえて楽しく説明しました。
柿本匡章 Masaaki Kakimoto@kara_mage
September 30, 2016
Tweet
Share
More Decks by 柿本匡章 Masaaki Kakimoto@kara_mage
See All by 柿本匡章 Masaaki Kakimoto@kara_mage
個人開発とANDPAD開発との相乗効果
karamage
1
190
何者にもなれなかった自分のための「個人開発のすすめ」
karamage
7
59k
Jest を使って VueコンポーネントとVuexストアの テストコードを書いてみよう!
karamage
3
1.7k
Swiftのクロージャーで苦労じゃ〜
karamage
1
1.2k
Other Decks in Programming
See All in Programming
AI活用のコスパを最大化する方法
ochtum
0
120
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
410
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
680
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
690
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
440
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
310
15年目のiOSアプリを1から作り直す技術
teakun
1
600
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
120
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
330
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
520
CSC307 Lecture 13
javiergs
PRO
0
310
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
550
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
180
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
For a Future-Friendly Web
brad_frost
183
10k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
60
51k
Chasing Engaging Ingredients in Design
codingconduct
0
130
Design in an AI World
tapps
0
160
Into the Great Unknown - MozCon
thekraken
40
2.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How STYLIGHT went responsive
nonsquared
100
6k
Visualization
eitanlees
150
17k
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠