Eight iOSを支えるアーキテクチャ / Architecture to support Eight iOS

13d936e697fe0f4fa96f926d0a712f6c?s=47 Sansan
June 15, 2019

Eight iOSを支えるアーキテクチャ / Architecture to support Eight iOS

■イベント
Developers Boost KANSAI
https://event.shoeisha.jp/devboost/20190615

■登壇概要
タイトル:
Eight iOSを支えるアーキテクチャ

登壇者:
Eight事業部 Engineering Group 河辺 雅史

▼Sansan Builders Box
https://buildersbox.corp-sansan.com/

13d936e697fe0f4fa96f926d0a712f6c?s=128

Sansan

June 15, 2019
Tweet

Transcript

  1. 3.

    2018/04 2018/07 2018/12 2019/02 2019/04 2019/06 Sansanגࣜձࣾ ৽ଔೖࣾ / Eightࣄۀ෦഑ଐ

    ϝϯγϣϯػೳͷ࣮૷ Eight iOS v9.0.0 ϦϦʔε Sansanࣄۀ෦ҟಈ Sansan iOS v5.0.0 ϦϦʔε / Eightࣄۀ෦ҟಈ ೋஈ֊ೝূػೳͷ࣮૷
  2. 4.

    2018/04 2018/07 2018/12 2019/02 2019/04 2019/06 Sansanגࣜձࣾ ৽ଔೖࣾ / Eightࣄۀ෦഑ଐ

    ϝϯγϣϯػೳͷ࣮૷ Eight iOS v9.0.0 ϦϦʔε Sansanࣄۀ෦ҟಈ Sansan iOS v5.0.0 ϦϦʔε / Eightࣄۀ෦ҟಈ ೋஈ֊ೝূػೳͷ࣮૷
  3. 5.
  4. 6.

    2018/04 2018/07 2018/12 2019/02 2019/04 2019/06 Sansanגࣜձࣾ ৽ଔೖࣾ / Eightࣄۀ෦഑ଐ

    ϝϯγϣϯػೳͷ࣮૷ Eight iOS v9.0.0 ϦϦʔε Sansanࣄۀ෦ҟಈ Sansan iOS v5.0.0 ϦϦʔε / Eightࣄۀ෦ҟಈ ೋஈ֊ೝূػೳͷ࣮૷
  5. 8.

    2018/04 2018/07 2018/12 2019/02 2019/04 2019/06 Sansanגࣜձࣾ ৽ଔೖࣾ / Eightࣄۀ෦഑ଐ

    ϝϯγϣϯػೳͷ࣮૷ Eight iOS v9.0.0 ϦϦʔε Sansanࣄۀ෦ҟಈ Sansan iOS v5.0.0 ϦϦʔε / Eightࣄۀ෦ҟಈ ೋஈ֊ೝূػೳͷ࣮૷
  6. 10.

    2018/04 2018/07 2018/12 2019/02 2019/04 2019/06 Sansanגࣜձࣾ ৽ଔೖࣾ / Eightࣄۀ෦഑ଐ

    ϝϯγϣϯػೳͷ࣮૷ Eight iOS v9.0.0 ϦϦʔε Sansanࣄۀ෦ҟಈ Sansan iOS v5.0.0 ϦϦʔε / Eightࣄۀ෦ҟಈ ೋஈ֊ೝূػೳͷ࣮૷
  7. 12.

    2018/04 2018/07 2018/12 2019/02 2019/04 2019/06 Sansanגࣜձࣾ ৽ଔೖࣾ / Eightࣄۀ෦഑ଐ

    ϝϯγϣϯػೳͷ࣮૷ Eight iOS v9.0.0 ϦϦʔε Sansanࣄۀ෦ҟಈ Sansan iOS v5.0.0 ϦϦʔε / Eightࣄۀ෦ҟಈ ೋஈ֊ೝূػೳͷ࣮૷
  8. 28.

    MVVM ύλʔϯ 7JFX 7JFX$POUSPMMFS 7JFX.PEFM .PEFM 6*&WFOUT 3FRVFTUT %BUB %BUB#JEJOH

    "QQMF͕ఏڙ͢Δ6*,JUʹ͸6*7JFX$POUSPMMFSͱ͍͏7JFXΛ؅ཧ͢ΔΫϥε͕͋Γɺ
 ը໘ͷϥΠϑαΠΫϧͱը໘ભҠΛ୲͏
  9. 34.

    7JFX - " ͢΂͖͜ͱ - UI Λఆٛ͢Δ - ViewModel ʹ

    UI Events Λ఻͑Δ - ViewModel ͔Βड͚औͬͨσʔλΛ൓ө͢Δ - # ͢΂͖Ͱͳ͍͜ͱ - ϓϨθϯςʔγϣϯϩδοΫΛఆٛ͢Δ - ௨৴΍σʔλૢ࡞Λߦ͏
  10. 36.

    7JFX.PEFM - " ͢΂͖͜ͱ - UI Events Λ؂ࢹ͠ɺModel ʹॲཧΛґཔ͢Δ -

    Model ͔Βड͚औͬͨσʔλΛ View Ͱར༻͢Δͷʹ
 ࠷దͳܗʹՃ޻͢Δ - # ͢΂͖Ͱͳ͍͜ͱ - UI Λఆٛ͢Δ - ௨৴΍σʔλૢ࡞Λߦ͏
  11. 38.

    .PEFM - " ͢΂͖͜ͱ - σʔλߏ଄Λఆٛ͢Δ - σʔλΛӬଓԽ͢Δ - σʔλΛૢ࡞͢Δ

    - # ͢΂͖Ͱͳ͍͜ͱ - UI Λఆٛ͢Δ - σʔλΛ View Ͱར༻͢Δͷʹ࠷దͳܗʹՃ޻͢Δ
  12. 41.

    - Entity - σʔλߏ଄Λఆٛ͢Δߏ଄ମ - Repository - Entity ͷ CRUD

    ૢ࡞Λఏڙ͢Δ - SQLite ΍ UserDefaults ౳ͷ DataSource ΛӅṭ - Request - HTTP Request Λ౤͛ΔॲཧΛఆٛ͢Δ - UseCase - ϏδωεϩδοΫΛهड़͢Δ
  13. 42.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  14. 45.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  15. 47.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  16. 52.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  17. 55.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  18. 57.

    UseCase - ґଘؔ܎ٯసͷݪଇΛద༻ - มԽ͠΍͍͢۩৅Ͱ͸ͳ͘ɺ҆ఆͨ͠ந৅ʹґଘ - Dependency Injection Λద༻ -

    Ϋϥεͷ֎͔Βґଘ͍ͯ͠Δ෺Λ஫ೖ - ந৅ʹґଘ͠ɺΫϥεͷ֎͔Βඞཁͳ΋ͷΛ஫ೖ͢Δ͜ͱͰςελϒϧʹ
  19. 59.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  20. 63.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  21. 67.

    7JFX 7JFX$POUSPMMFS 3RVFTUT %BUB 6*&WFOUT %BUB#JEJOH 7JFX.PEFM 6TF$BTF 3FRVFTU 3FQPTJUPSZ

    &OUJUZ 3FRVFTU 3FTQPOTF $36% %BUB 3FTVMU ,OPXTBCPVU ,OPXTBCPVU
  22. 69.
  23. 70.