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

メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017

メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017

#mercariday

Naoki ISHIKAWA

January 20, 2017
Tweet

More Decks by Naoki ISHIKAWA

Other Decks in Programming

Transcript

  1. ϝϧΧϦiOSΞϓϦ։ൃ

    ͷݱঢ়ͱ͜Ε͔Β
    Mercari DAY 2017 @AcademyHills
    Naoki Ishikawa

    View Slide

  2. About Me
    • ੴ઒௚थ (@jarinosuke)
    • Mercari, Inc (joined at 2016/05)
    •iOS Engineer

    View Slide

  3. Agenda
    • ϝϧΧϦiOSΞϓϦ։ൃʹ͍ͭͯ
    •ݱঢ়
    •͜Ε͔Β
    • ·ͱΊ

    View Slide

  4. ݱঢ়

    View Slide

  5. νʔϜߏ੒

    View Slide

  6. νʔϜߏ੒
    • JP ࡏॅ
    • 5ਓ

    View Slide

  7. νʔϜߏ੒
    • JP ࡏॅ
    • 5ਓ
    • US ࡏॅ
    • 1ਓ

    View Slide

  8. νʔϜߏ੒
    • JP ࡏॅ
    • 5ਓ
    • US ࡏॅ
    • 1ਓ
    • UK ࡏॅ
    • 1ਓ

    View Slide

  9. ۀ຿಺༰
    • ϝϧΧϦiOSΞϓϦͷ։ൃ
    • ίʔυϨϏϡʔ
    • ਃ੥ɺϦϦʔε

    View Slide

  10. ࢀՃMTGҰྫ

    View Slide

  11. ࢀՃMTGҰྫ
    • iOS ఆྫ MTG

    View Slide

  12. ࢀՃMTGҰྫ
    • iOS ఆྫ MTG
    • PJ ఆྫ MTG

    View Slide

  13. ࢀՃMTGҰྫ
    • iOS ఆྫ MTG
    • PJ ఆྫ MTG
    • (ݸਓࠩ͸͋Γ·͢)

    View Slide

  14. ։ൃ؀ڥ
    • ر๬ͷ Mac ͱ֎෦σΟεϓϨΠΛି༩
    • ି༩PC͕͍ͭͰ΋ަ׵ʹͳΓ·ͨ͠ - ຊ࣭Λߟ͑ɺେ୾ʹϧʔϧվม

    View Slide

  15. ϝϧΧϦiOSΞϓϦͷߏ੒
    • 1.ιʔείʔυ
    • 2.࢖༻͍ͯ͠ΔϥΠϒϥϦ
    • 3.ઃܭํ਑
    • 4.ςετ؀ڥ
    • 5.σϓϩΠ
    • 6.ϒϥϯνઓུ

    View Slide

  16. 1.ιʔείʔυ

    View Slide

  17. 1.ιʔείʔυ
    • Objective-C : Swift

    View Slide

  18. 1.ιʔείʔυ
    • Objective-C : Swift
    • 8 : 2

    View Slide

  19. 1.ιʔείʔυ
    • Objective-C : Swift
    • 8 : 2
    • ৽نը໘ɾػೳ͸جຊతʹશͯ Swift

    View Slide

  20. 2.࢖༻͍ͯ͠ΔϥΠϒϥϦ
    • ReactiveCocoa
    • APIKit
    • Result
    • ObjectMapper
    • SnapKit

    View Slide

  21. 3.ઃܭํ਑

    View Slide

  22. 3.ઃܭํ਑
    • MVVM

    View Slide

  23. 3.ઃܭํ਑
    • MVVM
    • Storyboard/xib

    View Slide

  24. 3.ઃܭํ਑
    • MVVM
    • Storyboard/xib
    • ABςετͷߟྀ

    View Slide

  25. 3.ઃܭํ਑
    • MVVM
    • Storyboard/xib
    • ABςετͷߟྀ
    • ઃܭϨϏϡʔ

    View Slide

  26. 4.ςετ؀ڥ
    • Unit Test
    • جຊతͳΞϓϦέʔγϣϯϩδοΫΛΧόʔ
    • QA
    • ػೳ௥Ճʹର͢Δ݁߹ςετ
    • ϦϦʔεલͷΞοϓσʔτʢσάϨʣςετ
    • CI
    • ࣾ಺ Mac Ͱ୯ମςετΛ push ຖʹ࣮ߦ

    View Slide

  27. 5.σϓϩΠ
    • Slack bot + Jenkins + fastlane
    • Beta ൛ͷ഑෍
    • ϦϦʔεϒϥϯνͷ࡞੒
    • iTunes Connect ΁ͷΞοϓϩʔυ

    View Slide

  28. 6.ϒϥϯνઓུ
    • master ϒϥϯν͔Β topic ϒϥϯνΛ࡞੒
    • ίʔυϨϏϡʔޙʹ master ΁Ϛʔδ
    • ϦϦʔε͞ΕΔػೳ͕શͯϚʔδ͞ΕͨλΠϛϯάͰ
    release ϒϥϯνΛ࡞੒ɺQA։࢝
    • QA தʹൃੜͨ͠मਖ਼͸ release ϒϥϯν΁ PR
    • ΞϓϦϦϦʔεޙʹ release Λ master ʹϚʔδ

    View Slide

  29. ͜Ε͔Β

    View Slide

  30. ϦϦʔεαΠΫϧͷมߋ

    View Slide

  31. ϦϦʔεαΠΫϧͷมߋ
    • ࠓ·Ͱ
    •ϦϦʔεʹؚ·ΕΔػೳΛΈͯadhocʹௐ੔

    View Slide

  32. ϦϦʔεαΠΫϧͷมߋ
    • ࠓ·Ͱ
    •ϦϦʔεʹؚ·ΕΔػೳΛΈͯadhocʹௐ੔
    • ͜Ε͔Β
    •ݪଇ2िؒ͝ͱʹϦϦʔε

    View Slide

  33. ιʔείʔυ෼ׂ

    View Slide

  34. ιʔείʔυ෼ׂ
    • ࠓ·Ͱ
    • 1ιʔεϚϧνόΠφϦ
    • master ϒϥϯνͷίʔυͰ JP/US/UK ͦΕͧΕͷόΠφϦΛ
    Ϗϧυ

    View Slide

  35. ιʔείʔυ෼ׂ
    • ࠓ·Ͱ
    • 1ιʔεϚϧνόΠφϦ
    • master ϒϥϯνͷίʔυͰ JP/US/UK ͦΕͧΕͷόΠφϦΛ
    Ϗϧυ
    • ͜Ε͔Β
    • ϚϧνιʔεϚϧνόΠφϦ
    • JP/US/UK ͦΕͧΕ master ϒϥϯνΛ࡞੒

    View Slide

  36. ιʔείʔυ෼ׂ
    US ༏ઌ

    View Slide

  37. ଞʹ΋…
    • US Ͱͷ Go Bold ͳվળɾػೳ௥Ճ
    • UK ͰͷΞϓϦϦϦʔε
    • JP Ͱͷι΢κ΢ Ξος࿈ܞ

    View Slide

  38. ·ͱΊ
    • ΍Δ͜ͱɾ΍Γ͍ͨ͜ͱ ͨ͘͞Μ
    • ਓ͕଍Γ͍ͯͳ͍

    View Slide

  39. ืू
    ιϑτ΢ΣΞΤϯδχΞ(Client, iOS) ΛWANTEDʂ

    https://www.wantedly.com/projects/38352

    View Slide