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
さようならRxSwift こんにちは*****
temoki
1
100
Androidで不安定なPlatform Viewsとの闘い
temoki
0
310
iOSパッケージマネージャー奮闘記 完結編
temoki
2
230
事業譲渡を受けたアプリとの統合で失敗、 そしてユーザーからの評価回復に至るまで
temoki
1
350
Apple Vision Proデベロッパラボに参加してきた
temoki
0
240
年末年始の成果、そして現状の紹介
temoki
0
70
Apple HIGのススメ
temoki
0
150
ChatGPTにSVGでお絵描きさせる
temoki
0
400
Figmaプラグイン開発のススメ
temoki
0
940
Other Decks in Programming
See All in Programming
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Introduction to GitOps
hwchiu
0
110
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
CSC307 Lecture 12
javiergs
PRO
0
220
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
A better future with KSS
kneath
231
17k
Into the Great Unknown - MozCon
thekraken
20
1.3k
Facilitating Awesome Meetings
lara
46
5.8k
What's in a price? How to price your products and services
michaelherold
239
11k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
What's new in Ruby 2.0
geeforr
338
31k
It's Worth the Effort
3n
181
27k
Designing the Hi-DPI Web
ddemaree
276
34k
We Have a Design System, Now What?
morganepeng
46
7k
Designing for humans not robots
tammielis
247
25k
Why Our Code Smells
bkeepers
PRO
332
56k
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%$ͰτʔΫ͢ΔΑʂ