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.2k
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
技術的負債と戦略的に戦わざるを得ない場合のオブザーバビリティ活用術 / Leveraging Observability When Strategically Dealing with Technical Debt
yoshiyoshifujii
0
160
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6.1k
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
250
抽象データ型について学んだ
ryounasso
0
210
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
1
310
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
180
インターフェース設計のコツとツボ
togishima
2
490
Zennの運営完全に理解した #完全に理解したTalk
wadayusuke
1
140
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
12
6.4k
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
810
Use Perl as Better Shell Script
karupanerura
0
660
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
670
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
How to Ace a Technical Interview
jacobian
276
23k
KATA
mclloyd
29
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Bash Introduction
62gerente
614
210k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Become a Pro
speakerdeck
PRO
28
5.4k
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