メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017
by
Naoki ISHIKAWA
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ϝϧΧϦiOSΞϓϦ։ൃ ͷݱঢ়ͱ͜Ε͔Β Mercari DAY 2017 @AcademyHills Naoki Ishikawa
Slide 2
Slide 2 text
About Me • ੴथ (@jarinosuke) • Mercari, Inc (joined at 2016/05) •iOS Engineer
Slide 3
Slide 3 text
Agenda • ϝϧΧϦiOSΞϓϦ։ൃʹ͍ͭͯ •ݱঢ় •͜Ε͔Β • ·ͱΊ
Slide 4
Slide 4 text
ݱঢ়
Slide 5
Slide 5 text
νʔϜߏ
Slide 6
Slide 6 text
νʔϜߏ • JP ࡏॅ • 5ਓ
Slide 7
Slide 7 text
νʔϜߏ • JP ࡏॅ • 5ਓ • US ࡏॅ • 1ਓ
Slide 8
Slide 8 text
νʔϜߏ • JP ࡏॅ • 5ਓ • US ࡏॅ • 1ਓ • UK ࡏॅ • 1ਓ
Slide 9
Slide 9 text
ۀ༰ • ϝϧΧϦiOSΞϓϦͷ։ൃ • ίʔυϨϏϡʔ • ਃɺϦϦʔε
Slide 10
Slide 10 text
ࢀՃMTGҰྫ
Slide 11
Slide 11 text
ࢀՃMTGҰྫ • iOS ఆྫ MTG
Slide 12
Slide 12 text
ࢀՃMTGҰྫ • iOS ఆྫ MTG • PJ ఆྫ MTG
Slide 13
Slide 13 text
ࢀՃMTGҰྫ • iOS ఆྫ MTG • PJ ఆྫ MTG • (ݸਓࠩ͋Γ·͢)
Slide 14
Slide 14 text
։ൃڥ • رͷ Mac ͱ֎෦σΟεϓϨΠΛି༩ • ି༩PC͕͍ͭͰަʹͳΓ·ͨ͠ - ຊ࣭Λߟ͑ɺେʹϧʔϧվม
Slide 15
Slide 15 text
ϝϧΧϦiOSΞϓϦͷߏ • 1.ιʔείʔυ • 2.༻͍ͯ͠ΔϥΠϒϥϦ • 3.ઃܭํ • 4.ςετڥ • 5.σϓϩΠ • 6.ϒϥϯνઓུ
Slide 16
Slide 16 text
1.ιʔείʔυ
Slide 17
Slide 17 text
1.ιʔείʔυ • Objective-C : Swift
Slide 18
Slide 18 text
1.ιʔείʔυ • Objective-C : Swift • 8 : 2
Slide 19
Slide 19 text
1.ιʔείʔυ • Objective-C : Swift • 8 : 2 • ৽نը໘ɾػೳجຊతʹશͯ Swift
Slide 20
Slide 20 text
2.༻͍ͯ͠ΔϥΠϒϥϦ • ReactiveCocoa • APIKit • Result • ObjectMapper • SnapKit
Slide 21
Slide 21 text
3.ઃܭํ
Slide 22
Slide 22 text
3.ઃܭํ • MVVM
Slide 23
Slide 23 text
3.ઃܭํ • MVVM • Storyboard/xib
Slide 24
Slide 24 text
3.ઃܭํ • MVVM • Storyboard/xib • ABςετͷߟྀ
Slide 25
Slide 25 text
3.ઃܭํ • MVVM • Storyboard/xib • ABςετͷߟྀ • ઃܭϨϏϡʔ
Slide 26
Slide 26 text
4.ςετڥ • Unit Test • جຊతͳΞϓϦέʔγϣϯϩδοΫΛΧόʔ • QA • ػೳՃʹର͢Δ݁߹ςετ • ϦϦʔεલͷΞοϓσʔτʢσάϨʣςετ • CI • ࣾ Mac Ͱ୯ମςετΛ push ຖʹ࣮ߦ
Slide 27
Slide 27 text
5.σϓϩΠ • Slack bot + Jenkins + fastlane • Beta ൛ͷ • ϦϦʔεϒϥϯνͷ࡞ • iTunes Connect ͷΞοϓϩʔυ
Slide 28
Slide 28 text
6.ϒϥϯνઓུ • master ϒϥϯν͔Β topic ϒϥϯνΛ࡞ • ίʔυϨϏϡʔޙʹ master Ϛʔδ • ϦϦʔε͞ΕΔػೳ͕શͯϚʔδ͞ΕͨλΠϛϯάͰ release ϒϥϯνΛ࡞ɺQA։࢝ • QA தʹൃੜͨ͠मਖ਼ release ϒϥϯν PR • ΞϓϦϦϦʔεޙʹ release Λ master ʹϚʔδ
Slide 29
Slide 29 text
͜Ε͔Β
Slide 30
Slide 30 text
ϦϦʔεαΠΫϧͷมߋ
Slide 31
Slide 31 text
ϦϦʔεαΠΫϧͷมߋ • ࠓ·Ͱ •ϦϦʔεʹؚ·ΕΔػೳΛΈͯadhocʹௐ
Slide 32
Slide 32 text
ϦϦʔεαΠΫϧͷมߋ • ࠓ·Ͱ •ϦϦʔεʹؚ·ΕΔػೳΛΈͯadhocʹௐ • ͜Ε͔Β •ݪଇ2िؒ͝ͱʹϦϦʔε
Slide 33
Slide 33 text
ιʔείʔυׂ
Slide 34
Slide 34 text
ιʔείʔυׂ • ࠓ·Ͱ • 1ιʔεϚϧνόΠφϦ • master ϒϥϯνͷίʔυͰ JP/US/UK ͦΕͧΕͷόΠφϦΛ Ϗϧυ
Slide 35
Slide 35 text
ιʔείʔυׂ • ࠓ·Ͱ • 1ιʔεϚϧνόΠφϦ • master ϒϥϯνͷίʔυͰ JP/US/UK ͦΕͧΕͷόΠφϦΛ Ϗϧυ • ͜Ε͔Β • ϚϧνιʔεϚϧνόΠφϦ • JP/US/UK ͦΕͧΕ master ϒϥϯνΛ࡞
Slide 36
Slide 36 text
ιʔείʔυׂ US ༏ઌ
Slide 37
Slide 37 text
ଞʹ… • US Ͱͷ Go Bold ͳվળɾػೳՃ • UK ͰͷΞϓϦϦϦʔε • JP Ͱͷικ Ξος࿈ܞ
Slide 38
Slide 38 text
·ͱΊ • Δ͜ͱɾΓ͍ͨ͜ͱ ͨ͘͞Μ • ਓ͕Γ͍ͯͳ͍
Slide 39
Slide 39 text
ืू ιϑτΣΞΤϯδχΞ(Client, iOS) ΛWANTEDʂ https://www.wantedly.com/projects/38352