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
The Power of ReSwift !!
Search
shunsuke sato
May 09, 2016
Programming
1
530
The Power of ReSwift !!
Research ReSwift with creating demo app.
shunsuke sato
May 09, 2016
Tweet
Share
More Decks by shunsuke sato
See All by shunsuke sato
要約 "Add Live Text interaction to your app"
ushisantoasobu
1
1.1k
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
790
Summary of Diagnose unreliable code with test repetitions
ushisantoasobu
1
1k
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.4k
5 Tips when test fails randomly
ushisantoasobu
2
3.6k
Better Way for Test Data Generation??
ushisantoasobu
1
2.8k
iOS/Androidのサブスクリプション実装における違いをざっと振り返る
ushisantoasobu
2
1.7k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.2k
Redirectable in App?
ushisantoasobu
2
940
Other Decks in Programming
See All in Programming
Discover Metal 4
rei315
2
140
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
360
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
530
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
14
4.8k
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
130
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
190
NPOでのDevinの活用
codeforeveryone
0
840
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
710
XP, Testing and ninja testing
m_seki
3
250
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
190
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Unsuck your backbone
ammeep
671
58k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
It's Worth the Effort
3n
185
28k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Site-Speed That Sticks
csswizardry
10
690
Code Review Best Practice
trishagee
69
18k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Music & Morning Musume
bryan
46
6.6k
Transcript
The Power of ReSwift !! ZJEFWୈճษڧձ
ࣗݾհ w !VTIJTBOUPBTPCV w גࣜձࣾϑϯβॴଐ w J04"OESPJE+BWB4DSJQU w ϑοταϧίʔώʔ
֓ཁ 3F4XJGUΛ࣮ϓϩμΫτʹ࠾༻ͨ͠ͱ͖ʹΠέΔͷ͔ ͦͷௐࠪใࠂΈ͍ͨͳײ͡
ൃද͢Δʹ͋ͨͬͯͬͨ͜ͱ w ͦΕͬΆ͍σϞΞϓϦΛͭ͘Δ w ʮૉʯͷͭ͘ΓͰͭ͘Δ w 3F4XJGUͰϦϓϨΠε͢Δ w 3F4XJGUͷύϫʔͱ͔Λײ͡Δ
ΞδΣϯμ w 3F4XJGU֓ཁ w ͭͬͨ͘σϞΞϓϦέʔγϣϯͷ؆୯ͳհ w 3F4XJGUΛ༻͍ͨΞϓϦέʔγϣϯͷ࡞Γํ w 3F4XJGUͷΤίγεςϜ w
ʢࣗͷײͨ͡ʣ3F4XJGUΛͬͯΈͯͷࢥ͏͜ͱ
ʲ൵ใʳҎԼͷࢿྉಡΜͩ΄͏͕ྑ͍ͱࢥΘΕΔ w IUUQOJOKJOLVOIBUFOBCMPHDPNFOUSZ w IUUQTTQFBLFSEFDLDPNOJOKJOLVOSFBDUJWFTXJGUNFFUVQ
w IUUQTHJUIVCDPN3F4XJGU3F4XJGU w 3F4XJGU3FEVYͷ4XJGU൛ 3F4XJGU֓ཁ
3FEVYͱʁʁ w 3FEVY'MVY࣮ͷ͏ͪͷ̍ͭ w 'MVYσʔλϑϩʔʹؔ͢ΔʮΞʔΩςΫνϟʯ w 3FBDU+48FCΞϓϦέʔγϣϯͷʮϏϡʔʯϥΠϒϥϦ
3FEVYͱʁʁ ʢ˞͜ͷਤ3F4XJGUͷϖʔδΑΓʣ
3FEVYͱʁʁ w ొਓ"DUJPO4UPSF3FEVDFS w 6OJEJSFDUJPOBMEBUBqPX w 4JOHMF4UBUF5SFF ʢ˞͜ͷਤ3F4XJGUͷϖʔδΑΓʣ
ొਓ"DUJPO4UPSF3FEVDFS w "DUJPO w 4UPSFʢ˞ਤ͔ΒΘ͔ΓͮΒ͍͚Ͳɺ͜Ε͚ͩγϯάϧτϯʂʂʣ w 3FEVDFS ʢ˞͜ͷਤ3F4XJGUͷϖʔδΑΓʣ
6OJEJSFDUJPOBMEBUBqPX
7JFX͕4UPSFʢ4UBUFʣΛߋ৽ͨ͠Γ͠ͳ͍ 6OJEJSFDUJPOBMEBUBqPX No!!!
ΞϓϦέʔγϣϯͷঢ়ଶ̍ͭͷ4UBUFʹू͞ΕΔ 4JOHMF4UBUF5SFF
ʢཧʣ3F4XJGUͱʁʁ ΞϓϦέʔγϣϯͷʮঢ়ଶʯʹ੍ΛͨΒ͢ϑϨʔϜϫʔΫͰɺ w σʔλϑϩʔ͕୯Ұํ w ΞϓϦέʔγϣϯͷঢ়ଶ͕̍Օॴʹू͞ΕΔ ͱ͍͏ಛΛͭ
ͭͬͨ͘σϞΞϓϦέʔγϣϯͷ؆୯ͳհ w ͦΕͳΓͷنʢ7JFX$POUSPMMFSͷʣ w 5BCMF7JFXΈ͍ͨͳϦετදࣔ w ൚༻తͳ7JFX w ϑΥʔϜΆ͍ͷ w
QVTI7JFX$POUSPMMFSQSFTFOU7JFX$POUSPMMFS w ௨৴ॲཧʢࠓճμϛʔ͚ͩͲʣ w ΞϥʔτɺϩʔσΟϯά
αϯϓϧΞϓϦʹ͍ͭͯ
αϯϓϧΞϓϦʹ͍ͭͯ w 3F4XJGU͕ͲΜͳͷ͔ΛΔʹ͜ΕͰ͍͍ w 3F4XJGUͷΤίγεςϜʢ3F4XJGU3PVUFS3FDPSEFSʣΛΔ ͷ͜ΕͰ͍͍ w ͦΕͳΓͷنʹͳͬͨͱ͖ͷ3F4XJGUͷάουύλʔϯͩͱ͔ ʮπϥϛʯͱ͔Θ͔Βͳͦ͏
3F4XJGUΛ༻͍ͨΞϓϦέʔγϣϯͷ࡞Γํ
σʔλϑϩʔΛҰ௨ΓΈͯΈΔ w 4UBUFΛมߋ͍ͨ͠ w 4UBUF͕ͲͷΑ͏ʹมߋ͞ΕΔ͔ w 4UBUF͕Ϗϡʔʹө͞ΕΔ
σʔλϑϩʔΛҰ௨ΓΈͯΈΔ 4UBUFΛมߋ͍ͨ͠
σʔλϑϩʔΛҰ௨ΓΈͯΈΔ 4UBUF͕ͲͷΑ͏ʹมߋ͞ΕΔ͔
σʔλϑϩʔΛҰ௨ΓΈͯΈΔ 4UBUF͕Ϗϡʔʹө͞ΕΔ
σʔλϑϩʔΛҰ௨ΓΈͯΈΔ w 4UBUFΛมߋ͍ͨ͠ w 4UBUF͕ͲͷΑ͏ʹมߋ͞ΕΔ͔ w 4UBUF͕Ϗϡʔʹө͞ΕΔ
4UBUFΛมߋ͍ͨ͠
4UBUFΛมߋ͍ͨ͠ 4UPSF͕"DUJPOΛEJTQBUDI͢Δ
σʔλϑϩʔΛҰ௨ΓΈͯΈΔ w 4UBUFΛมߋ͍ͨ͠ w 4UBUF͕ͲͷΑ͏ʹมߋ͞ΕΔ͔ w 4UBUF͕Ϗϡʔʹө͞ΕΔ
4UBUF͕ͲͷΑ͏ʹมߋ͞ΕΔ͔
4UBUF͕ͲͷΑ͏ʹมߋ͞ΕΔ͔ 3FEVDFS͕ରԠ͢Δ"DUJPOຖʹ4UBUFΛߋ৽͢Δ
σʔλϑϩʔΛҰ௨ΓΈͯΈΔ w 4UBUFΛมߋ͍ͨ͠ w 4UBUF͕ͲͷΑ͏ʹมߋ͞ΕΔ͔ w 4UBUF͕Ϗϡʔʹө͞ΕΔ
4UBUF͕Ϗϡʔʹө͞ΕΔ
4UBUF͕Ϗϡʔʹө͞ΕΔ 4UPSF͕7JFX$POUSPMMFSΛTVCTDSJCF͢ΔɺϏϡʔͷߋ৽ϦΞΫςΟϒʹ
ͦΕͧΕͷొਓͷதΛΈ͍ͯ͘ w "DUJPO w 4UPSF w 3FEVDFS w 7JFX 7JFX$POUSPMMFS
"DUJPO
"DUJPO w 4UBUFมߋ࣌ʹૹΒΕΔͷ w ͨͩͷʮใʢσʔλʣʯ w ࣗͱͯ͠ͱ͘ʹͳʹ͠ͳ͍ʢʮۭʯͷϓϩτίϧͰ͋Δʣ
4UPSF
4UPSF w 4UPSFΞϓϦέʔγϣϯͷγϯάϧτϯ w 4UPSF͕"DUJPOΛEJTQBUDI͢Δ w 4UPSF͕อ͍࣋ͯ͠Δ4UBUF͕ΞϓϦέʔγϣϯͷঢ়ଶ
3FEVDFS
3FEVDFS w 3FEVDFS4UBUFΛͲͷΑ͏ʹߋ৽͢Δ͔ͷΈΛ୲͏ w 3FEVDFSͨͩͷ'VODUJPO w "DUJPOͷܕʹΑͬͯॲཧ͚
7JFX 7JFX$POUSPMMFS
7JFX 7JFX$POUSPMMFS 4UPSF4VCTDSJCFSϓϩτίϧΛDPOGPSN͢Δ
7JFX 7JFX$POUSPMMFS 4UPSF4VCTDSJCFSϓϩτίϧͰఆٛ͞Ε͍ͯΔOFX4UBUFϝιουΛ࣮͢Δ
7JFX 7JFX$POUSPMMFS OFX4UBUFϝιουʹɺ4UBUFʹରͯ͠7JFX͕ͲͷΑ͏ʹදࣔ͞ΕΔ͔Λએݴతʹॻ͘
7JFX 7JFX$POUSPMMFS 4UPSFͷTVCTDSJCFVOTVCTDSJCFͷॲཧΛॻ͘
7JFX 7JFX$POUSPMMFS 4UBUFΛߋ৽͍ͨ͠ͱ͖ɺͦΕʹରԠͨ͠"DUJPOΛEJTQBUDI͢Δ
7JFX 7JFX$POUSPMMFS 4UPSFͷ4UBUFΛ͍͡Βͳ͍ʂʂ No!!!
3F4XJGUͷΤίγεςϜ w 3F4XJGU3PVUFS w 3F4XJGU3FDPSEFS
3F4XJGU3PVUFS w 3F4XJGUͰΞϓϦέʔγϣϯͷঢ়ଶΛશͯཧ͍ͨ͠ w J04ʹ͓͚ΔʮϧʔςΟϯάʯ4UBUFͷ̍ͭ w ϝϦοτ3F4XJGU3FDPSEJOHͷͱ͜ΖͰ
3F4XJGU3PVUFSద༻֓ཁ ͜͜Ͱ͍ͩͿলུͯ͠EJTQBUDIͷॲཧͷΈʢଞʹઃఆ͕݁ߏखؒͩͬͨΓ͢Δʣ
3F4XJGU3PVUFSద༻֓ཁ ্ͷSPVUFͨͩͷจࣈྻͷྻ63-తͳѻ͍ʢzTPNFIPHFzʣɺ͍ͦͭΛ1BZMPBEʹ͢Δ
3F4XJGU3FDPSEFS w "DUJPOͷཤྺΛه w ͦΕͭ·Γɺͯ͢ͷ࣌Ͱͷ4UBUFΛ࠶ݱͰ͖Δͱ͍͏͜ͱ w λΠϜτϥϕϧʢ6OEP3FEPʣ w ։ൃ࣌ͷঢ়ଶ࠶ݱ w
"DUJPO4UBOEBSE"DUJPO$POWFSUJCMFʹϦϓϨΠε͢Δඞཁ༗ w 4FU3PVUF4QFDJpD%BUB͕བྷΉͱݱঢ়͍͠ʁʁ
w ΞϓϦέʔγϣϯͷঢ়ଶ͕̍Օॴʹू͞ΕΔʂʂ w 3F4XJGUͷ4UBUFͱͯ͠ѻ͑ͳ͍ʮঢ়ଶʯ͕͋Δ w ࠩߋ৽ w 4UBUFͷׂͷํ w ଞίʔυྔ͕૿͑ΔʢʣɺϦηοτॲཧ
3F4XJGU͞ΘͬͯΈͯײͨ͜͡ͱ·ͱΊ
ΞϓϦέʔγϣϯͷঢ়ଶ͕̍Օॴʹू͞ΕΔʂʂ ·ͣʢ͜Ε·Ͱ͓ͦΒ͘ଘࡏͨ͠Ͱ͋Ζ͏ʣ7JFX$POUSPMMFSͷঢ়ଶมҰͳ͘ͳΔ
ΞϓϦέʔγϣϯͷঢ়ଶ͕̍Օॴʹू͞ΕΔʂʂ 4UPSF͕ͯ͢Λ͍ͬͯΔɻ4UPSFʮਆʯ
3F4XJGUͷ4UBUFͱͯ͠ѻ͑ͳ͍ʮঢ়ଶʯ͕͋Δ w Ξχϝʔγϣϯ w 6*"MFSU$POUSPMMFS w ΩʔϘʔυͷදࣔඇදࣔ w αʔυύʔςΟͷϥΠϒϥϦʢྫ͑z471SPHSFTT)6%zʣ
3F4XJGUͷ4UBUFͱͯ͠ѻ͑ͳ͍ʮঢ়ଶʯ͕͋Δ w Ξχϝʔγϣϯ w 6*"MFSU$POUSPMMFS w ΩʔϘʔυͷදࣔඇදࣔ w αʔυύʔςΟͷϥΠϒϥϦʢྫ͑z471SPHSFTT)6%zʣ w
ࠓճͷσϞΞϓϦέʔγϣϯͰɺΧελϜΞϥʔτɺΧελϜϩʔσΟ ϯάΛͭͬͯ͘3F4XJGUΣΠʹͤͨ w ͱ͍͑ɺ6*"MFSU$POUSPMMFSͬͯΔՕॴ͋Δ͠ɺΩʔϘʔυͷॲ ཧͳͲɺ3F4XJGUΣΠʹΒͳ͍ͷ͕͋ͬͯɺؾ࣋ͪతʹগ͠ࣃ ͕Ώ͍͚ͩͰෆศͳ͜ͱͳ͍ͣ
ࠩߋ৽
ࠩߋ৽ ճEJTQBUDI͢Δͱ͍͏͜ͱ
ࠩߋ৽ ճඳըߋ৽͕Δ6*5BCMF7JFXͷSFMPBE%BUBΈ͍ͨͳίετߴͦ͏ͳͷϚζΠͷͰʁʁ
ࠩߋ৽ ճඳըߋ৽͕Δ6*5BCMF7JFXͷSFMPBE%BUBΈ͍ͨͳίετߴͦ͏ͳͷϚζΠͷͰʁʁ w ࠩߋ৽ͷ࣮͕ඞཁʁʁ w 3F4XJGUࣗ͜͜ΒΜʹ͍ͭͯಛʹݴٴͳ͠ͷͣ
4UBUFͷׂͷํ 4UBUFΛͲͷΑ͏ʹׂ͖͢ͳͷ͔ʁʁ
4UBUFͷׂͷํ w ͱΓ͋͑ͣࠓճ7JFX$POUSPMMFSຖͷ4UBUFΛͭͬͯ͘Έͨ w ҟͳΔ7JFX$POUSPMMFSͰಉ͡σʔλΛࢀর͍ͨ͠έʔεʁʁͱ͍͏ ͜ͱΛߟ͑Δͱଟ7JFX$POUSPMMFSͰ͚ͪΌμϝ 4UBUFΛͲͷΑ͏ʹׂ͖͢ͳͷ͔ʁʁ
ଞίʔυྔ͕૿͑ΔʢʣɺϦηοτॲཧ 4UBUFΛͲͷΑ͏ʹׂ͖͢ͳͷ͔ʁʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ