Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017
Search
Naoki ISHIKAWA
January 20, 2017
Programming
3
6.7k
メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017
#mercariday
Naoki ISHIKAWA
January 20, 2017
Tweet
Share
More Decks by Naoki ISHIKAWA
See All by Naoki ISHIKAWA
パラレルの通話を支える iOS アプリ上での技術
jarinosuke
0
2.1k
メルペイのエンジニアリング組織の変化と目指すチーム像
jarinosuke
5
6.3k
RIBs
jarinosuke
2
1.7k
US 版 Mercari をまるごと1から作り直した話
jarinosuke
2
4.3k
Drink Meetup with Mercari #36
jarinosuke
0
1.2k
Switching Icon.png depending on each environment
jarinosuke
2
11k
Other Decks in Programming
See All in Programming
AI Ramen Fight
yusukebe
0
130
ワープロって実は計算機で
pepepper
1
690
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
270
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
440
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
380
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
450
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
710
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
170
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
180
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
4
430
What's new in Adaptive Android development
fornewid
0
130
Featured
See All Featured
Bash Introduction
62gerente
614
210k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Documentation Writing (for coders)
carmenintech
73
5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
182
54k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Gamification - CAS2011
davidbonilla
81
5.4k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Embracing the Ebb and Flow
colly
86
4.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
ϝϧΧϦiOSΞϓϦ։ൃ ͷݱঢ়ͱ͜Ε͔Β Mercari DAY 2017 @AcademyHills Naoki Ishikawa
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