Slide 1

Slide 1 text

ը໘ભҠͷ؅ཧͱMVVM @yoshikuni_kato ୈҰճελʔτΞοϓiOS/Androidษڧձ 2016/10/01 1

Slide 2

Slide 2 text

Who am I? • Ճ౻༝܇ʢYoshikuni Katoʣ • @yoshikuni_kato • iOSΤϯδχΞ • Yahoo! Japan -> Φϋί • ʮϥδ΁͐ʯ͘Μ → 2

Slide 3

Slide 3 text

OHAKO • ࣄۀɿUX/UIσβΠϯ & ։ൃ • ࣾһɿ20໊ऑʢ಺ɺΤϯδχΞ10໊ ऑɺiOS 2໊ʣ • ʢࠓͷͱ͜Ζʣ৽نडୗ։ൃϝΠϯ • Swi/ • try! Swi/ / iOSDCɹεϙϯαʔ • छʑϙδγϣϯืूதʂ • UI࣮૷޷͖ͳਓٻΉ 3

Slide 4

Slide 4 text

ը໘ભҠΛ؅ཧ͢Δύλʔϯ Presenta(on Coordinator 4

Slide 5

Slide 5 text

ը໘ભҠΛVC͔Β෼཭͢Δٞ࿦͕੝Μ • Presen'ng Coordinators by Soroush Khanlou, NSSpain(2015) • Boundaries in Prac'ce by Nonaka Ayaka, try!SwiF(2016) • MVVM-C In Prac'ce by Steve ScoM, UIKonf(2016) • Connec'ng View Controllers at SwiF Talk(objc.io), 2016 ↑ Φεεϝʂ • Names: Coordinator, Router/Wireframe (in VIPER), Naviga'on 5

Slide 6

Slide 6 text

ը໘ભҠΛVC͔Β෼཭͢Δͱ͸ • presentViewController / pushViewController ͳͲΛ VCʹॻ͔ͳ͍ʂ →ɹVCͷੜ੒ɺʢDIతͳʣઃఆϩδοΫ΋VC͔Β֎ʹग़Δ →ɹVCಉ͕͓࢜ޓ͍Λࢀর͠ͳ͍ →ʮॱ൪ΛೖΕସ͑ΔʯʮભҠݩ/ઌΛม͑Δʯ͕༰қʹͰ͖Δ • ը໘ભҠΛ؅ཧ͢ΔΫϥε: Coordinator 6

Slide 7

Slide 7 text

Coordinatorͷಈ࡞Πϝʔδ 7

Slide 8

Slide 8 text

Coordinatorͷωετͷయܕྫ 8

Slide 9

Slide 9 text

MVVMͰը໘ભҠΛ؅ཧ͢Δ 9

Slide 10

Slide 10 text

Coordinator͸VMʹ࿈݁͢Δͷ͕Α͍ 10

Slide 11

Slide 11 text

ࢀߟʣϢʔβʔΞΫγϣϯ͸VMͰॲཧ͢Δ 11

Slide 12

Slide 12 text

VMͱCoordinatorͰɺVC͕෼ղ͞ΕΔ 12

Slide 13

Slide 13 text

VMͱCoordinatorͰɺVC͕෼ղ͞ΕΔ 13

Slide 14

Slide 14 text

΄ͱΜͲVIPER? 14

Slide 15

Slide 15 text

·ͱΊ 15

Slide 16

Slide 16 text

·ͱΊ • ը໘ભҠΛVC͔Β෼཭͢ΔͱɺVC͕ؒૄʹͳΔ • MVVM-Cʹ͢Δͱ΄ͱΜͲVIPER? • ͍͖ͳΓVIPER͕೉͍͠ɺͱ͍͏৔߹͸ɺ͜ͷ͋ͨΓ͔Βऔ Γ૊Ήͷ΋ख͔΋ • ઃܭ೉͍͚͠Ͳ΍Γ͕͍͋Δ 16

Slide 17

Slide 17 text

ิ଍ ͜ͷࢿྉͰ͸ந৅తͳ࿩͹͔ΓͩͬͨͷͰɺ۩ମతͳίʔυ͸Լͷ ࢿྉΛࢀর͍ͯͩ͘͠͞ɻ • Presen'ng Coordinators by Soroush Khanlou, NSSpain(2015) • Boundaries in Prac'ce by Nonaka Ayaka, try!SwiF(2016) • MVVM-C In Prac'ce by Steve ScoM, UIKonf(2016) • Connec'ng View Controllers at SwiF Talk(objc.io), 2016 ↑ Φεεϝʂ 17