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アプリを一から作りなおしました
Search
Tomoki Kobayashi
August 16, 2019
Programming
2
1.2k
創業事業のiOSアプリを一から作りなおしました
Tomoki Kobayashi
August 16, 2019
Tweet
Share
More Decks by Tomoki Kobayashi
See All by Tomoki Kobayashi
iOSパッケージマネージャー奮闘記 完結編
temoki
2
120
事業譲渡を受けたアプリとの統合で失敗、 そしてユーザーからの評価回復に至るまで
temoki
1
280
Apple Vision Proデベロッパラボに参加してきた
temoki
0
150
年末年始の成果、そして現状の紹介
temoki
0
60
Apple HIGのススメ
temoki
0
110
ChatGPTにSVGでお絵描きさせる
temoki
0
350
Figmaプラグイン開発のススメ
temoki
0
820
エンジニア is 何?🤔
temoki
0
160
Swift Package Manager によるマルチモジュール構成
temoki
3
1.3k
Other Decks in Programming
See All in Programming
Open standards for building event-driven applications in the cloud
meteatamel
0
230
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
14
4.5k
Try creating your own orderedmap
kazamori
1
280
CQRS meets modern Java
simas
PRO
2
470
The grand strategy of Ruby Parser
yui_knk
5
280
TypeScriptのパフォーマンス改善
yajihum
14
5.1k
株式会社ゼネテック
genetec
0
120
Next.js App Router
quramy
14
2.3k
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
10
1.9k
Exploring Type-Informed Lint Rules in Rust based TypeScript Linters
unvalley
3
630
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
160
Jetpack Composeとデザインシステム
rmakiyama
0
230
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Gamification - CAS2011
davidbonilla
77
4.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
Side Projects
sachag
451
41k
4 Signs Your Business is Dying
shpigford
176
21k
Building Applications with DynamoDB
mza
88
5.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
How to Ace a Technical Interview
jacobian
273
22k
Building an army of robots
kneath
300
41k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Teambox: Starting and Learning
jrom
128
8.4k
Transcript
ۀࣄۀͷJ04ΞϓϦΛ Ұ͔Β࡞Γͳ͓͠·ͨ͠ /BHPZBJ04NFFUVQ 5PNPLJ,PCBZBTIJ!UFNPLJ
גࣜձࣾελϝϯ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE גࣜձࣾελϝϯ 4 w ۀɿ݄ w ໊ࣾɿ4UBS.FNCFST w ਓɿ໊ʙ
w ຊࣾɿ໊ݹ ُౡ w ࢧࣾɿ౦ژେࡕԬ w ࣄۀɿ56/"(
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ۀࣄۀ56/"(ʢπφάʣ 6 w੍ࣾΛத৺ʹͨ͠اۀ͚4/4 wΤϯήʔδϝϯτܦӦʹΑΓʮਓͱ৫ʯΛڧ͘͢Δ wಋೖاۀࣾΛ͑ɺ ສਓͷϢʔβʔ͕ར༻த
56/"(J04ΞϓϦ ͭ͘Γͳ͓͠·ͨ͠
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 11 w56/"(3VCZPO3BJMT 3FBDUͰߏ wJ04"OESPJEΞϓϦશͯΨϫωΠςΟϒͩͬͨ wࣗͷϛογϣϯωΠςΟϒԽ㲈Ұ͔Β࡞Δ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 12 ΞϓϦΛҰ͔Β࡞Δͱ͖ ͞·͟·ͳબʹഭΒΕΔ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 13 wઃܭͲ͏͠Α͏ʁ! wϥΠϒϥϦԿΛ͓͏ʁ! w$*ςετͳͲ࣭֬อͷํʁ!
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 14 wࣗͰࣗ༝ʹબͰ͖Δ" wͨͩ͠બʹରͯ͠Λෛ͏# w߈कͷόϥϯε͕ͱΕͨબΛ$
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 15 56/"(J04ΞϓϦߏஙͰͷ ༷ʑͳબͱͦͷཧ༝ʹ͍͕ͭͯ ࠓͷςʔϚͰ͢
"SDIJUFDUVSF1BUUFSO
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "SDIJUFDUVSF1BUUFSO 17 .71 .77. 7*1&3 3FEVY
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "SDIJUFDUVSF1BUUFSO 18 .71 .77. 3FEVY 7*1&3
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "SDIJUFDUVSF1BUUFSO%7*1&3 19 wωΠςΟϒԽରͷୈҰνϟοτ wը໘ͷߏཁૉৼΔ͍͕ଟ͍ͷ Ͱ.71Ͱ݁ہ 1 ͕ංେԽ wJ04ʹ.77.ʹඞཁͳσʔλ
όΠϯσΟϯάͷΈ͕ͳ͍ w7*1&3.71ͷ1Λ͞Βʹ ‣ϢʔεέʔεΛ*OUFSBDUPS ‣ը໘ભҠͱ%*Λ3PVUFS ‣෦ؒ1SPUPDPMͰґଘ͠5FTUBCMF ‣$PDPB.7$Λ៉ྷʹϨΠϠʔԽ͢Δײ͡
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE νϟοτػೳΛ7*1&3ΞʔΩςΫνϟͰ։ൃͨ͠ 20 56/"(J04ΞϓϦͷ IUUQTTUNODPKQUFDI
)551/FUXPSLJOH
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE )551/FUXPSLJOH 22 63-4FTTJPO JTILBXB"1*,JU .PZB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE )551/FUXPSLJOH 23 63-4FTTJPO JTILBXB"1*,JU .PZB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE )551/FUXPSLJOH%.PZB 24 w༻͢Δ"1*͕ଟ͍ͷͰ63-4FTTJPO "MBNPpSFਏ͍ʜ w"1*͝ͱʹએݴతʹهड़Ͱ͖Δ"1*,JUͱ.PZB w"1*,JU͖͚ͩͲ࠷ۙߋ৽͕Ίʜ w.PZB"MBNPpSFͷϥούʔ wݩͷίʔυͰ"MBNPpSFʹগ͠ґଘ͍ͯ͠Δ
wը૾ϩʔμʔ"MBNPpSF*NBHF͋Δ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 25
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 26
*NBHF-PBEFS
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE *NBHF-PBEFS 43
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE *NBHF-PBEFS 44
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE *NBHF-PBEFS%"MBNPGJSF*NBHF 45 wඞཁͳػೳͲΕ΄΅ἧ͍ͬͯΔ ‣ ࢀߟ 4XJGUͷ༗໊ը૾ΩϟογϡϥΠϒϥϦΛൺֱͯ͠Έͨ ‣ IUUQTRJJUBDPN)@$SBOFJUFNTEGDBFGB
w/VLF͕ߴΒ͍͚͠Ͳʜ w"MBNPpSFʹґଘ͢Δ͜ͱ ܾ·͍ͬͯΔͷͰಉ͡ͷΛ͓͏
-PDBM%BUBCBTF
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 28 6TFS%FGBVMUT 42-JUF $PSF%BUB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 29 6TFS%FGBVMUT 42-JUF $PSF%BUB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 30 6TFS%FGBVMUT 42-JUF $PSF%BUB !
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 31 6TFS%FGBVMUT 42-JUF $PSF%BUB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF%'JSFCBTF$MPVE'JSFTUPSF 32 wνϟοτػೳͷϦϞʔτσʔλ3BJMTͷ %#ͱಉظ͞Εͨ$MPVE'JSFTUPSFͰཧ w$MPVE'JSFTUPSFͰऔಘͨ͠σʔλ ࣗಈతʹϩʔΧϧʹΩϟογϡ͞ΕΔ wͪΐͬͱͨ͠ঢ়ଶͷอଘ6TFS%FGBVMUT w'JSFCBTFੵۃతʹ͍ͬͯ͘ʂ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 'JSFCBTF 33 ʴ'BCSJD#FUB "QQ%JTUSJCVUJPOͱͯ͠'JSFCBTFʹ౷߹தʣ %σʔλϕʔε %Ϣʔβʔೝূ %ϓογϡ௨ %ΫϥογϡϨϙʔτ
%Ϣʔβʔߦಈղੳ %ࣾςετ
"TZODISPOPVT 1SPDFTTJOH
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "TZODISPOPVT1SPDFTTJOH 35 "QQMF($% (PPHMF1SPNJTF 3Y4XJGU NBMDPNNBD)ZESB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "TZODISPOPVT1SPDFTTJOH 36 "QQMF($% (PPHMF1SPNJTF 3Y4XJGU NBMDPNNBD)ZESB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "TZODISPOPVT1SPDFTTJOH%3Y4XJGU 37 w୯७ͳඇಉظॲཧͱͯ͠ͳΒ(PPHMF1SPNJTFͰे w'JSFTUPSF͔Βͷ֤छσʔλͷྲྀΕΛ߹ͯ͠දࣔ༻ σʔλΛ࡞͢Δͷʹ3Y4XJGUͷΦϖϨʔλ͕ศར wґଘہॴతʹ ϓϨθϯςʔγϣϯͰ༻͠ͳ͍ Ϣʔβʔ
Ұཡ ϧʔϜ Ұཡ ϧʔϜผ طಡใ 4OBQTIPU -JTUFOFS 4OBQTIPU -JTUFOFS 4OBQTIPU -JTUFOFS 0CTFSWBCMF 0CTFSWBCMF 0CTFSWBCMF $PNCJOF -BUFTU ϧʔϜҰཡ ը໘༻σʔλ
0UIFS
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 0UIFS 39 w*NBHF-PBEFS%"MBNPpSF*NBHF /VLF w+40/%FDPEFS%$PEBCMF w3FTPVSDFT%4XJGU(FO 3TXJGU
w-JOUFS%4XJGU-JOU w-PHHFS%4XJGUZ#FBWFS w1BDLBHF.BOBHFS%$PDPBQPET$BSUIBHF w5FTU'SBNFXPSL%9$5FTU 2VJDL w#VJME%FQMPZ%'BTUMBOF w$*4FSWJDF%ࠓҰਓମ੍ͳͷͰະ༻ #JUSJTF͍͍ͨ
͓ΘΓʹ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ͓ΘΓʹ 41 wࠓޙ͠Β͘ӡ༻Ͱ͖Δόϥϯεͷྑ͍ߏ ʹͰ͖ͨͱࣗෛ͍ͯͨ͠$ wࠓͷ88%$Ͱͷ4XJGU6*ͱ$PNCJOFͷ ൃද͕άαοͱ͖ͨ& w࠙ձͰͷԹ͔͍ϚαΧϦΞυόΠε͓ͪ ͍ͯ͠·͢'
wએɿ݄ͷJ04%$ͰτʔΫ͢ΔΑʂ