Slide 1

Slide 1 text

Yu TAWATA 8BOUFEMZ1FPQMF͕ ͨͲΓண͍ͨΞʔΩςΫνϟ CAMPFIRE iOS #1

Slide 2

Slide 2 text

シゴトでココロオドル w ܦྺ w ΧʔφϏϛυϧ΢ΣΞ։ൃɹ̎೥ w ιʔγϟϧήʔϜ։ൃʢαʔόαΠυʣɹ̎೥ w *P5αʔϏε։ൃʢαʔόαΠυɺJ04ʣɹ̍೥ w ໊ࢗ؅ཧΞϓϦ։ൃʢJ04ʣɹϲ݄ ଟ࿨ాɹါ :V5"8"5" (JU)VCZVUB ࣗݾ঺հ

Slide 3

Slide 3 text

シゴトでココロオドル

Slide 4

Slide 4 text

シゴトでココロオドル

Slide 5

Slide 5 text

シゴトでココロオドル アプリ設計

Slide 6

Slide 6 text

シゴトでココロオドル MVC MVP MVVM VIPER Clean Architecture View Controller Model View (Controller) Presenter Model View (Controller) ViewModel Model View (Controller) Presenter Entity Presenter Layer Domain Layer Data Layer Interactor Router

Slide 7

Slide 7 text

シゴトでココロオドル 0 → 1

Slide 8

Slide 8 text

シゴトでココロオドル × MVVM ×

Slide 9

Slide 9 text

シゴトでココロオドル w "1*ͷ௚ྻɺฒྻϦΫΤετΛѻ͑Δ w Χʔυը૾Ξοϓ w Ϛονϯά w ໊ࢗొ࿥ʜFUD w σʔλͷมߋΛଞը໘ʹ൓өͰ͖Δ w ΦϑϥΠϯ࣌΋໊ࢗ৘ใΛӾཡͰ͖Δ Requirements

Slide 10

Slide 10 text

シゴトでココロオドル w ը໘ఔ౓ w εΩϟϯ w औΓࠐΈ֬ೝ w ϓϩϑΟʔϧࢀরʜFUD Minimal-Specification

Slide 11

Slide 11 text

シゴトでココロオドル • 実装コストが低め • コードの重複は少ない • ViewModelの役割が⼤大きい MVVM+RxSwift+Realm

Slide 12

Slide 12 text

シゴトでココロオドル 1 → 10

Slide 13

Slide 13 text

シゴトでココロオドル MVVM + Interactor + Router × ×

Slide 14

Slide 14 text

シゴトでココロオドル

Slide 15

Slide 15 text

シゴトでココロオドル

Slide 16

Slide 16 text

シゴトでココロオドル • 20画⾯面以上 • 複数の画⾯面に同じ操作を⼊入れる • 連絡先への追加、削除 • カード画像アップ • DeepLink Minimal-Specification

Slide 17

Slide 17 text

シゴトでココロオドル View (Controller) ViewModel

Slide 18

Slide 18 text

シゴトでココロオドル View (Controller) ViewModel Interactor View (Controller) ViewModel

Slide 19

Slide 19 text

シゴトでココロオドル • コードの重複を抑えることができた • ViewModelの役割が⼩小さくなった MVVM+Interactor+Router+RxSwift+Realm

Slide 20

Slide 20 text

シゴトでココロオドル MVC MVP MVVM VIPER Clean Architecture View Controller Model View (Controller) Presenter Model View (Controller) ViewModel Model View (Controller) Presenter Entity Presenter Layer Domain Layer Data Layer Interactor Router

Slide 21

Slide 21 text

シゴトでココロオドル End • 0 → 1 • 最⼩小の仕様を実装する • MVVM • アプリ設計は必要最低限 • 1 → 10 • 機能を拡充、ユーザ体験をあげる • MVVM + Interactor + Router • より責務を明確にしたアプリ設計へ

Slide 22

Slide 22 text

シゴトでココロオドル THANK YOU