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.6k
メルカリ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
6k
RIBs
jarinosuke
2
1.7k
US 版 Mercari をまるごと1から作り直した話
jarinosuke
2
4.3k
Drink Meetup with Mercari #36
jarinosuke
0
1.1k
Switching Icon.png depending on each environment
jarinosuke
2
11k
Other Decks in Programming
See All in Programming
sappoRo.R #12 初心者セッション
kosugitti
0
260
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
Conform を推す - Advocating for Conform
mizoguchicoji
3
690
Software Architecture
hschwentner
6
2.1k
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
290
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
『品質』という言葉が嫌いな理由
korimu
0
160
GoとPHPのインターフェイスの違い
shimabox
2
190
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
時計仕掛けのCompose
mkeeda
1
300
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Into the Great Unknown - MozCon
thekraken
35
1.6k
The Language of Interfaces
destraynor
156
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
450
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Bash Introduction
62gerente
611
210k
Fireside Chat
paigeccino
34
3.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
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