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.3k
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.6k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.2k
Redirectable in App?
ushisantoasobu
2
930
Other Decks in Programming
See All in Programming
Select API from Kotlin Coroutine
jmatsu
1
180
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
580
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
970
A comprehensive view of refactoring
marabesi
0
970
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
1
410
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
290
Is Xcode slowly dying out in 2025?
uetyo
1
170
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
120
ReadMoreTextView
fornewid
1
450
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
250
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
910
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Designing Experiences People Love
moore
142
24k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
The Invisible Side of Design
smashingmag
299
51k
Docker and Python
trallard
44
3.4k
A better future with KSS
kneath
239
17k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
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ΛͲͷΑ͏ʹׂ͖͢ͳͷ͔ʁʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ