Slide 1

Slide 1 text

ֶੜελʔτΞοϓ͕
 ϚΠΫϩϏϡʔίϯτϩʔϥ
 Λಋೖͨ͠࿩ nade( @kazuma_nagano )
 Mobile Act OSAKA #8

Slide 2

Slide 2 text

Kazuma Nagano (nade) 
 @kazuma_nagano
 NAIST M2 TIMEPACK Inc. CTO

Slide 3

Slide 3 text

ຊ೔ͷςʔϚ ։ൃεϐʔυͱϦϑΝΫλΛཱ྆͢Δ
 ʹ͸ϚΠΫϩΞʔΩςΫνϟઃܭ
 ׂ͕ͱྑ͔ͬͨ

Slide 4

Slide 4 text

ͳͥಋೖʹ͍͔ͨͬͨʁ

Slide 5

Slide 5 text

։ൃϝϯόʔ ΅͘ɿiOSνϣοτσΩϧ ʢ5೥໨ʣ CEOɿiOS UI ΠδΕΔ σβΠφɿϓϩάϥϛϯάॳֶऀ

Slide 6

Slide 6 text

എܠ • ͱʹ͔͘εϐʔυײ͕ཉ͍͠ʢDemoDay·Ͱʹ..) • ֶۀ͕͋ΔͷͰجຊ͸ඇಉظ࡞ۀ • εΫϥοϓ & Ϗϧυ

Slide 7

Slide 7 text

։ൃࢦ਑ • ͱʹ͔͘εϐʔυײ͕ཉ͍͠ʢDemoDay·Ͱʹ..) • ֶۀ͕͋ΔͷͰجຊ͸ඇಉظ࡞ۀ • εΫϥοϓ & Ϗϧυ ϝΠϯϩδοΫɿ΅͘ UIͱ෦෼ػೳɿCEO + σβΠφ

Slide 8

Slide 8 text

σ
 β
 Π
 φ
 
 $
 &
 0 
 
 ๻ ϝΠϯϩδοΫ
 ৐ͤΔͥʂʂ
 ϨϏϡʔ΋͢Δͥ ։ൃͷ༷ࢠ 6*ͱ؆୯ͳػೳ
 ࡞Δͥʂʂ

Slide 9

Slide 9 text

τοϓը໘ͷ༷ࢠ͕ 
 ͦΖͦΖઃܭɽɽ ਺೔ޙɽɽ ৽ػೳͱϏϡʔ଍ͥ͢ʂ

Slide 10

Slide 10 text

τοϓը໘ͷ༷ࢠ͕ 
 ͦΖͦΖઃܭɽɽ ਺೔ޙɽɽ ৽ػೳͱϏϡʔ଍ͥ͢ʂ େن໛ͳϦϑΝΫλϦϯά

Slide 11

Slide 11 text

શ෦ڭ͖͑Εͳ͍ɽɽ ͞Βʹ਺೔ޙɽɽ Μʁ͜ͷઃܭͰ
 Ͳ͏΍ͬͯػೳ଍͢ͷʁ 7JFX.PEFMͬͯԿʂʁ

Slide 12

Slide 12 text

શ෦ڭ͖͑Εͳ͍ɽɽ ͞Βʹ਺೔ޙɽɽ Μʁ͜ͷઃܭͰ
 Ͳ͏΍ͬͯػೳ଍͢ͷʁ 7JFX.PEFMͬͯԿʂʁ w 6*Λ௥Ճͮ͠Β͘ͳͬͯ͘Δ w ษڧڭҭίετ w ഭΓདྷΔకΊ੾Γɽɽ

Slide 13

Slide 13 text

޷͖ʹ͍͍ͭͬͯ͘Αʂ
 ΋͏͋ͱͰશ෦
 ͓Ε͕௚͢Θɽɽ ࠷ऴతʹɽɽ ʁɹʁ

Slide 14

Slide 14 text

͜͏ͯ͠Fat View Controllerͷ
 ҋʹତ͍ͪͯ͘ͷͩͬͨ

Slide 15

Slide 15 text

ͳʹ͕ྑ͘ͳ͔͔ͬͨʁ! • ΞʔΩςΫνϟΛపఈ͢Δʹ͸ֶशίετ͕͔͔Δ • ֶश͠ͳ͕ΒίʔυΛॻ͘৔߹ɺεϐʔυ͕མͪΔ • Ϋϥεؒͷ݁߹͕ਂ͘ͳΔͨΊϦϑΝΫλ͕େม

Slide 16

Slide 16 text

ͱ͸͍͑Ϛγͳ΍Γํ͸͋Δ͸ͣ

Slide 17

Slide 17 text

େֶͰڭΘͬͨ͜ͱɽɽ !☁

Slide 18

Slide 18 text

ڊਓͷݞͷ্ʹͷΔʂ !#

Slide 19

Slide 19 text

• ࡢ೥ͷiOSDCͰ @tarunon͞Μ͕ൃද(ϕετεϐʔΧʔ) • ϑϨʔϜϫʔΫ + Sample͕ެ։ https://github.com/mercari/Mew • UIύʔπͦΕͧΕΛViewControllerͰ࡞ͬͯ͠·͏ΞʔΩς Ϋνϟ MicroViewController ϝ̋ΧϦࣾͷ

Slide 20

Slide 20 text

࣮૷ͷઆ໌Λͪΐͬͱ͚ͩ
 ৄ͘͠͸Github΁

Slide 21

Slide 21 text

ViewControllerؒͷInterfaceΛϓϩτίϧͰ౷Ұ • Instantiatableɿinit • Injectableɿupdate • Interactableɿdelegate MicroViewController ϝ̋ΧϦࣾͷ

Slide 22

Slide 22 text

ContainerViewΛ༻͍࣮ͯ૷ MicroViewController ϝ̋ΧϦࣾͷ

Slide 23

Slide 23 text

MicroViewControllerΛ࢖͏ͱ • ϥΠϑαΠΫϧɾը໘ભҠίʔυ͕෼ׂ͞ΕΔ • ϨΠΞ΢τ͕࣌ؒ୹ॖ͠ɺύϑΥʔϚϯε͕
 ͕͋Δ • ΫϩεΞʔΩςΫνϟͰ࣮૷Մೳ

Slide 24

Slide 24 text

ΫϩεΞʔΩςΫνϟ • ը໘ؒͷ݁߹͕े෼ʹૄͰ͋Ε͹
 த਎͕ԿͰͰ͖ͯͯ΋Α͍ MVVM MVVM Clean
 Archi MVC RIBs Clean
 Archi MVC RIBs MVVM MVP MVC

Slide 25

Slide 25 text

ΫϩεΞʔΩςΫνϟ • ը໘ؒͷ݁߹͕े෼ʹૄͰ͋Ε͹
 த਎͕ԿͰͰ͖ͯͯ΋Α͍ • Fat ViewControllerͰ΋ྑ͍ MVVM MVVM Clean
 Archi MVC RIBs Clean
 Archi MVC RIBs MVVM MVP MVC

Slide 26

Slide 26 text

ֶੜελʔτΞοϓ͕ MicroViewControllerΛ࢖͏ͱ • શͯͷը໘Λ͖Ε͍ͳίʔυͰ࡞Βͳͯ͘΋
 Α͘ͳΔ • ViewController͕ଠΓͮΒ͘ͳΔ • ଠͬͨը໘͔ΒϦϑΝΫλΛਐΊ͍͚ͯΔ • ϦϑΝΫλͷӨڹൣғ͕ڱ·ΓΊͬͪΌָʹͳΔ

Slide 27

Slide 27 text

࣮ࡍͷը໘ߏ੒

Slide 28

Slide 28 text

࣮ࡍͷը໘ߏ੒ • φϏήʔγϣϯόʔ • ηϧ಺ͷϥϕϧɾΠϝʔδ ʢը໘ભҠ͕ͳ͍ɾύʔπʣҎ֎
 શ෦ViewController + Xib

Slide 29

Slide 29 text

MicroViewControllerͷԸܙ • ։ൃ଎౓ɿ×3 • 1ViewControllerதͷίʔυɿ~500 • ύϑΥʔϚϯε΋޲্ͯ͠Δʁ

Slide 30

Slide 30 text

Thank youʂ