Upgrade to Pro — share decks privately, control downloads, hide ads and more …

モダンなシステム構成を取り入れ続けることができる組織作り #iosdc

65d843df8b643a10c28098e3e191d67b?s=47 mao
September 16, 2017

モダンなシステム構成を取り入れ続けることができる組織作り #iosdc

iOSDCで発表した内容です

65d843df8b643a10c28098e3e191d67b?s=128

mao

September 16, 2017
Tweet

Transcript

  1. ೥݄೔  ੢ ຏԧ ϞμϯͳγεςϜߏ੒ΛऔΓೖΕ ଓ͚Δ͜ͱ͕Ͱ͖Δ૊৫࡞Γ

  2.  ࣗݾ঺հ ໊લ ੢ ຏԧʢʹ͠ ·͓ʣ ࠷ۙͷ࢓ࣄ !NBP@OJTIJ

  3. γεςϜߏ੒ͷมߋ େมͰ͢ΑͶ

  4. ͭͬͨ͘௚ޙ ࠷ߴʹ͖Ε͍ͳίʔυ͕ॻ͚ͨʂ 

  5. ೋिؒޙ

  6. ޙ͔Βࢥ͏͜ͱ ࡞ͬͨ࣌ʹ͸͍͍ײ͡ʹͰ͖ͨͭ ΋Γͩͬͨͷʹɾɾ ୭ͩ͜ͷίʔυॻ͍ͨͷ 

  7. ੈͷதมԽ͕଎͍ • ৽͍͠ػೳ௥Ճ • ϢʔβχʔζͷมԽ • ݴޠͷਐԽ 

  8.  ਐา͢ΔΞʔΩςΫνϟ • .7$ • .71 • .77. • $MFBO

    "SDIJUFDIUVSF • 'MVY ҰํͰطଘγεςϜͷ ֦ுۀ຿
  9. ৽͍͠ΞʔΩςΫνϟΛ஌Δ͜ͱ ੈͷதͷ՝୊Λ஌Δνϟϯε • ҋӢͳಋೖ͸ྑ͘ͳ͍ • ͚ͩͲ࣮ફ͠ͳ͍ͱཧղ͕ਂ· Βͳ͍ 

  10. Ϗδωεଆ͔ΒݟΔͱ   γεςϜߏ੒͸ม͑ͳ͍બ୒ ҆ఆՔಇ͍ͯ͠Δ͠ɺ೥ʑֶशίετ΋Լ͕Δ

  11. ٕज़ϩοΫΠϯ ͯ͠͠·͏যΓ

  12. ཧ૝ͷ͔ͨͪ • ΞϓϦͷ੒௕ʹ͋Θͤͨγες Ϝߏ੒ݟ௚͠ • ͔͠΋ϏδωεΛࢭΊͣʹ  

  13. • ٕज़Ξϓϩʔν • ૊৫Ξϓϩʔν ྆ํ͕ඞཁ   Ͳ͏͢Δʁ

  14. ͨͲΓண͍ͨਅཧͷڞ༗ • ೥ϦϦʔεͷΞϓϦ • Λ௒͑Δ4UPSZCPBE • Λ௒͑ΔιʔεϑΝΠϧ  

  15. ٕज़Ξϓϩʔν

  16. ٕज़Ξϓϩʔν • ৽͍͠ΞʔΩςΫνϟΛࢼ͢ • プロトタイプで試す • ここはまずやりましょう   ·ͣ͸খ͘͞΍ͬͯΈΔ

  17. ίϯύΠϧ଎౓͕େࣄ • ͳͥʁ • 未知なことをやるから • あーでもないこーでもないがおきる • 開発のリズムが崩れる 

    
  18. πʔϧͰܭଌ #VJME5JNF"OBMZ[FSGPS9DPEF • Ϋϥεɺؔ਺୯ҐͰ଎౓͕෼͔Δ  

  19. ଎౓վળύλʔϯͷྫ • ԋࢉࢠͷॲཧΛݮΒ͢ʢT୹ॖʣ • もちろん遅くなっているところだけでいい • ഑ྻͷ௚઀௥ՃΛݮΒ͢ʢT୹ॖʣ • ArrayOfStuff +

    [Stuff] → ArrayOfStuff.append(stuff) • ࡾ߲ԋࢉࢠΛݮΒ͢ʢT୹ॖʣ • 遅くなっているところだけ  
  20.   ·Ί஌ࣝ ίϯύΠϧ଎౓͕ ஗͍ͱϫʔχϯά Λݟͯݟ͵;Γ͢ Δ͜ͱ΋͋Δ

  21. ΑΓ଎͘ίϯύΠϧ ͢ΔͨΊʹ

  22. γεςϜΛ෼ׂ͢Δ • ͳͥʁ • プリビルドができる • 脳のコンパイル速度もあがる • ここから先はシステムが別 •

    毎回の全体コンパイルを避ける • CDがより高速に  
  23. ΞϯϒϨϥπϦʔ   ϝϦοτɿࢹ֮తʹ͍ۙ৔ॴʹ഑ஔͰ͖Δ

  24. %ZOBNJD'SBNFXPSL   ϝϦοτɿকདྷతʹผ3FQPʹ੾Γग़͠΍͍͢

  25. %'SBNFXPSLΛผ3FQPʹ   ϝϦοτɿผϓϩδΣΫτʹڞ༗ɺϓϦϏϧυ΋Մ

  26. ෼ׂ͢Δͱʁ Ұ෦ͷػೳͷγεςϜߏ੒Λมߋ ͢Δ͜ͱ͕Ͱ͖Δ   MVC MVVM

  27. %'SBNFXPSLຖͷઃܭ 画面名 設計 解決したかった 課題 トップ MVVM Viewの更新タイミングを統一した い 商品詳細

    コードベースの 画面設計 Storyboardマージしたくない、UIの テストコードを書きやすくしたい その他 MVC よく知られている構成で、新規メ ンバ参画を容易に  
  28. ΋ͪΖΜ՝୊΋ γεςϜ͕ෳࡶԽ͢ΔͷͰ͸ʁ • ͦͷ௨Γ • しかし、システム全刷新の選択は 容易ではない • ࣮຿ܦݧ͕࠷దղΛ୳ͨ͢Ίͷ ݂ͱͳΓ೑ͱͳΔ

     
  29. ૊৫Ξϓϩʔν

  30. Α͍૊৫ɺνʔϜ ੒௕ʹ͸Կ͕ඞཁʁ • ৽͍͠ߟ͑ํΛऔΓೖΕΔ؀ڥ • 一方的な知識のインプット? • さてどうやる?  

  31. ࣮ࡍͲ͏΍͍ͬͯΔʁ   91ͰϖΞͷ૬खΛຖ೔ϩʔςʔγϣϯ͠ͳ͕Β

  32.   ͍͍͜ͱ͸ʁ • ࿩͠ͳ͕Βઃܭ • ޓ͍ͷ஌ࣝަ׵ • ʮͳͥͦ͏ߟ͑ ͨͷ͔ʁʯͱ͍

    ͏ίʔνϯά • ଐਓԽղফ
  33.   ͞Βʹ͸ʁ • ҰਓΑΓ΋ೋਓ Ͱߟ͑ͨ΋ͷͷ ํ͕ࣗ৴͕ग़Δ • ࣗ෼ͨͪͰܾΊ Δɺͱ͍͏ҙࢥ

    ܾఆܦݧ
  34. ଞͷ޻෉͸ʁ   ୎ٿͰ೴ͷϦϑϨογϡɻϖΞͱͷ࿈ܞྗ޲্΋

  35. ଞͷ޻෉͸ʁ ࢒ۀېࢭ ʢ؅ཧ৬͸ͪΐͬͱ͚ͩ஗͍ʣ  

  36. ͦͷ݁Ռ͓͖ͨ͜ͱ • ࢒ۀ͕ݮͬͨ • ペアプロは疲れるのもある • 新しいことに時間を使える • ҙݟަ׵͕׆ൃʹ •

    ϏδωεΛࢭΊͳ͍γεςϜมߋ  
  37. ·ͱΊ   ٕज़Ξϓϩʔν • ଎͘͢Δ͜ͱΛ௥ٻ ૊৫Ξϓϩʔν • ձ࿩Λ૿΍͢޻෉ •

    ҰਓΑΓ΋ೋਓͷߟ͑
  38. ଎͋͘Γଓ͚Δ͜ͱ Ϟμϯ΁ͷۙಓ