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
650
ドラクエと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
160
何者にもなれなかった自分のための「個人開発のすすめ」
karamage
7
52k
Jest を使って VueコンポーネントとVuexストアの テストコードを書いてみよう!
karamage
3
1.5k
Swiftのクロージャーで苦労じゃ〜
karamage
1
1.1k
Other Decks in Programming
See All in Programming
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
950
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
180
ASP.NET Core の OpenAPIサポート
h455h1
0
120
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
300
2025.01.17_Sansan × DMM.swift
riofujimon
2
560
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
Amazon Nova Reelの可能性
hideg
0
200
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.9k
HTML/CSS超絶浅い説明
yuki0329
0
190
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Navigating Team Friction
lara
183
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Six Lessons from altMBA
skipperchong
27
3.6k
Optimising Largest Contentful Paint
csswizardry
33
3k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
GitHub's CSS Performance
jonrohan
1030
460k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠