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
800
Summary of Diagnose unreliable code with test repetitions
ushisantoasobu
1
1k
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.4k
5 Tips when test fails randomly
ushisantoasobu
2
3.7k
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
950
Other Decks in Programming
See All in Programming
時間軸から考えるTerraformを使う理由と留意点
fufuhu
11
4k
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
18
9.7k
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
2
1.6k
Kiroで始めるAI-DLC
kaonash
2
520
Namespace and Its Future
tagomoris
6
690
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
690
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
1
410
Claude Codeで挑むOSSコントリビュート
eycjur
0
190
複雑なドメインに挑む.pdf
yukisakai1225
5
940
旅行プランAIエージェント開発の裏側
ippo012
2
710
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
25
9.7k
OSS開発者という働き方
andpad
5
1.6k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
302
21k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Visualization
eitanlees
147
16k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Practical Orchestrator
shlominoach
190
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.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ΛͲͷΑ͏ʹׂ͖͢ͳͷ͔ʁʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ