#mercariday
ϝϧΧϦiOSΞϓϦ։ൃ ͷݱঢ়ͱ͜Ε͔ΒMercari DAY 2017 @AcademyHillsNaoki Ishikawa
View Slide
About Me• ੴथ (@jarinosuke)• Mercari, Inc (joined at 2016/05)•iOS Engineer
Agenda• ϝϧΧϦiOSΞϓϦ։ൃʹ͍ͭͯ•ݱঢ়•͜Ε͔Β• ·ͱΊ
ݱঢ়
νʔϜߏ
νʔϜߏ• JP ࡏॅ• 5ਓ
νʔϜߏ• JP ࡏॅ• 5ਓ• US ࡏॅ• 1ਓ
νʔϜߏ• JP ࡏॅ• 5ਓ• US ࡏॅ• 1ਓ• UK ࡏॅ• 1ਓ
ۀ༰• ϝϧΧϦiOSΞϓϦͷ։ൃ• ίʔυϨϏϡʔ• ਃɺϦϦʔε
ࢀՃMTGҰྫ
ࢀՃMTGҰྫ• iOS ఆྫ MTG
ࢀՃMTGҰྫ• iOS ఆྫ MTG• PJ ఆྫ MTG
ࢀՃMTGҰྫ• iOS ఆྫ MTG• PJ ఆྫ MTG• (ݸਓࠩ͋Γ·͢)
։ൃڥ• رͷ Mac ͱ֎෦σΟεϓϨΠΛି༩• ି༩PC͕͍ͭͰަʹͳΓ·ͨ͠ - ຊ࣭Λߟ͑ɺେʹϧʔϧվม
ϝϧΧϦiOSΞϓϦͷߏ• 1.ιʔείʔυ• 2.༻͍ͯ͠ΔϥΠϒϥϦ• 3.ઃܭํ• 4.ςετڥ• 5.σϓϩΠ• 6.ϒϥϯνઓུ
1.ιʔείʔυ
1.ιʔείʔυ• Objective-C : Swift
1.ιʔείʔυ• Objective-C : Swift• 8 : 2
1.ιʔείʔυ• Objective-C : Swift• 8 : 2• ৽نը໘ɾػೳجຊతʹશͯ Swift
2.༻͍ͯ͠ΔϥΠϒϥϦ• ReactiveCocoa• APIKit• Result• ObjectMapper• SnapKit
3.ઃܭํ
3.ઃܭํ• MVVM
3.ઃܭํ• MVVM• Storyboard/xib
3.ઃܭํ• MVVM• Storyboard/xib• ABςετͷߟྀ
3.ઃܭํ• MVVM• Storyboard/xib• ABςετͷߟྀ• ઃܭϨϏϡʔ
4.ςετڥ• Unit Test• جຊతͳΞϓϦέʔγϣϯϩδοΫΛΧόʔ• QA• ػೳՃʹର͢Δ݁߹ςετ• ϦϦʔεલͷΞοϓσʔτʢσάϨʣςετ• CI• ࣾ Mac Ͱ୯ମςετΛ push ຖʹ࣮ߦ
5.σϓϩΠ• Slack bot + Jenkins + fastlane• Beta ൛ͷ• ϦϦʔεϒϥϯνͷ࡞• iTunes Connect ͷΞοϓϩʔυ
6.ϒϥϯνઓུ• master ϒϥϯν͔Β topic ϒϥϯνΛ࡞• ίʔυϨϏϡʔޙʹ master Ϛʔδ• ϦϦʔε͞ΕΔػೳ͕શͯϚʔδ͞ΕͨλΠϛϯάͰrelease ϒϥϯνΛ࡞ɺQA։࢝• QA தʹൃੜͨ͠मਖ਼ release ϒϥϯν PR• ΞϓϦϦϦʔεޙʹ release Λ master ʹϚʔδ
͜Ε͔Β
ϦϦʔεαΠΫϧͷมߋ
ϦϦʔεαΠΫϧͷมߋ• ࠓ·Ͱ•ϦϦʔεʹؚ·ΕΔػೳΛΈͯadhocʹௐ
ϦϦʔεαΠΫϧͷมߋ• ࠓ·Ͱ•ϦϦʔεʹؚ·ΕΔػೳΛΈͯadhocʹௐ• ͜Ε͔Β•ݪଇ2िؒ͝ͱʹϦϦʔε
ιʔείʔυׂ
ιʔείʔυׂ• ࠓ·Ͱ• 1ιʔεϚϧνόΠφϦ• master ϒϥϯνͷίʔυͰ JP/US/UK ͦΕͧΕͷόΠφϦΛϏϧυ
ιʔείʔυׂ• ࠓ·Ͱ• 1ιʔεϚϧνόΠφϦ• master ϒϥϯνͷίʔυͰ JP/US/UK ͦΕͧΕͷόΠφϦΛϏϧυ• ͜Ε͔Β• ϚϧνιʔεϚϧνόΠφϦ• JP/US/UK ͦΕͧΕ master ϒϥϯνΛ࡞
ιʔείʔυׂUS ༏ઌ
ଞʹ…• US Ͱͷ Go Bold ͳվળɾػೳՃ• UK ͰͷΞϓϦϦϦʔε• JP Ͱͷικ Ξος࿈ܞ
·ͱΊ• Δ͜ͱɾΓ͍ͨ͜ͱ ͨ͘͞Μ• ਓ͕Γ͍ͯͳ͍
ืूιϑτΣΞΤϯδχΞ(Client, iOS) ΛWANTEDʂ https://www.wantedly.com/projects/38352