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
全力疾走中でも使えるストップウォッチアプリを作る
Search
Ogijun
September 12, 2022
0
3.7k
全力疾走中でも使えるストップウォッチアプリを作る
Ogijun
September 12, 2022
Tweet
Share
More Decks by Ogijun
See All by Ogijun
全力の跳躍を捉える計測アプリを作る
ogijun2018
1
2.7k
続・全力疾走中でも使えるストップウォッチアプリを作る 〜LiDARを使った精度への挑戦〜
ogijun2018
1
1.3k
あなたの知らないWWDC現地参加の世界
ogijun2018
0
2.5k
新社会人でも活躍したい!〜新卒1年目で活躍するためのコツ〜
ogijun2018
1
540
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Typedesign – Prime Four
hannesfritz
40
2.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Into the Great Unknown - MozCon
thekraken
32
1.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Why Our Code Smells
bkeepers
PRO
334
57k
Site-Speed That Sticks
csswizardry
0
31
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
A better future with KSS
kneath
238
17k
Code Reviewing Like a Champion
maltzj
520
39k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Transcript
શྗ࣬தͰ͑Δ ετοϓΥονΞϓϦΛ࡞Δ 2022.9.12 iOSDC Japan 2022 גࣜձࣾZOZO ZOZOTOWN։ൃຊ෦ ZOZOTOWNΞϓϦ෦ iOSϒϩοΫ
Ԯ ൏ / @juginon Copyright © ZOZO, Inc.
© ZOZO, Inc. גࣜձࣾZOZO ZOZOTOWNΞϓϦ෦ iOSϒϩοΫ Ԯ ൏ 2022.04 ZOZO৽ଔೖࣾ
্ڝٕྺ 15ʢ2008~2022ʣ ࣾձਓͰଓ͚ͯ·͢ 2 Ogijun / @juginon
© ZOZO, Inc. 3
© ZOZO, Inc. 4 ࢢൢͷετοϓΥον͍͍͑͡ΌΜ🤔
© ZOZO, Inc. 5 ̋ × ̋ ̋ × ̋
̋ ˚ ̋ ٱੑ ϝϞϦʔػೳ ϥοϓػೳ Ձ֨ ߴڃͳ ετοϓΥον Ϧʔζφϒϧͳ ετοϓΥον ʁ ετοϓΥονൺֱ ˇ
© ZOZO, Inc. ̋ × ̋ ̋ × ̋ ̋
˚ ̋ 6 ٱੑ ϝϞϦʔػೳ ϥοϓػೳ Ձ֨ ߴڃͳ ετοϓΥον Ϧʔζφϒϧͳ ετοϓΥον J1IPOF📱 ˇ ετοϓΥονൺֱ
© ZOZO, Inc. 7
© ZOZO, Inc. 8 REJECTED
© ZOZO, Inc. 9 ͳͥετοϓΥονΞϓϦʹ ԻྔϘλϯͷ੍ޚ͕ඞཁͩͬͨͷ͔ʁ
© ZOZO, Inc. 10 ෳਓ Ұਓ ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ ࿅शʹ͓͚ΔλΠϜܭଌ
© ZOZO, Inc.
© ZOZO, Inc.
© ZOZO, Inc. 13 બख Ϛωʔδϟʔ Γͳ͕ΒετοϓϘλϯ ͕ԡͤͳ͍ બखΛݟͳ͕Β ελʔτετοϓ͕͍͠
ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ ͳͥΓʹ͍͘ͷ͔ʁ
© ZOZO, Inc. 14 બख Ϛωʔδϟʔ Γͳ͕ΒετοϓϘλϯ ͕ԡͤͳ͍ બखΛݟͳ͕Β ελʔτετοϓ͕͍͠
ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ ͳͥΓʹ͍͘ͷ͔ʁ ը໘Λݟ͍ͯͳ͍ঢ়ଶͰૢ࡞͕ΓͮΒ͍ʂ
© ZOZO, Inc. 15 ඞਢ߲ ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ ͋Δͱخ͍͠ ɾεϚʔτϑΥϯͭͰ݁͢Δ
ˠ४උ͢Δͷʹ͓ۚͱख͕ؒඞཁͩͱຊసʢετοϓΥονΛങ͓͏ʂʣ ͳͥԻྔϘλϯ͕ඞཁͳͷ͔ʁ Ͳ͏͢ΕղܾͰ͖Δʁ ɾͲͷͰૢ࡞Մೳ ˠ-J%"3ਂΧϝϥͳͲɺಛఆͷʹ͔͠ͳ͍ػೳΘͳ͍
© ZOZO, Inc. 16
© ZOZO, Inc. 17
© ZOZO, Inc. 18
© ZOZO, Inc. 19 ղܾ͢ΔͨΊʹ࡞Γ·ͨ͠
© ZOZO, Inc. 20
© ZOZO, Inc. 21 Ϛωʔδϟʔɾސڞʹධ👏 ࣮ࡍʹΓͳ͕Βͬͯշదʹૢ࡞Ͱ͖ͨ ϦϦʔεޙͷԠ ্෦Ҏ֎ͷਓʹͬͯΒ͍͑ͯͨ
© ZOZO, Inc. 22 ϦϦʔεޙͷԠ (VJEFMJOF1FSGPSNBODF4PGUXBSF3FRVJSFNFOUT ͋ͳͨͷΞϓϦɺJ04σόΠεͷඪ४తͳεΠονΛඪ४తͰͳ͍ ํ๏Ͱ༻͍ͯ͠·͢ɻ "QQ4UPSF3FWJFX(VJEFMJOFTʹଇͬͨػೳʹ࡞Γ͍ͯͩ͘͠͞ɻ
© ZOZO, Inc. 23 App Store ReviewΨΠυϥΠϯ https://developer.apple.com/jp/app-store/review/guidelines/#performance → ԻྔϘλϯϛϡʔτεΠονͳͲͷཧϘλϯ͍͚ͬͯͳ͍
❌ Volume Watchͷެ։ఀࢭཧ༝ʮԻྔϘλϯΛ͍ͬͯΔ͔Βʯ (VJEFMJOFͱʁ
© ZOZO, Inc. 24 7PMVNF8BUDI7PMVNF8BUDI😭
© ZOZO, Inc. 25 ඞਢ߲ ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ ͋Δͱخ͍͠ ɾεϚʔτϑΥϯͭͰ݁͢Δ
ˠ४උ͢Δͷʹ͓ۚͱख͕ؒඞཁͩͱຊసʢετοϓΥονΛങ͓͏ʂʣ ɾͲͷͰૢ࡞Մೳ ˠ-J%"3ਂΧϝϥͳͲɺಛఆͷʹ͔͠ͳ͍ػೳΘͳ͍ Ͳ͏͢ΕղܾͰ͖Δʁ
© ZOZO, Inc. 26 ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ )BQUJDͷ׆༻ ԻྔϘλϯΛΘͳ͍Ͱ࣮͢Δ
© ZOZO, Inc. 27 ը໘ εϫΠϓ छྨͷΠϯλϥΫγϣϯΛ࣮ ɾը໘Λݟͳͯ͘ૢ࡞͕Ͱ͖Δ ຊࢦ λοϓ
γΣΠΫ എ໘ λοϓ ۙ ηϯαʔ ԻྔϘλϯΛΘͳ͍Ͱ࣮͢Δ ɾ࣮֬ʹૢ࡞Λߦͬͨͱ͍͏ϑΟʔυόοΫ͕ಘΒΕΔ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ ը໘શମΛεϫΠϓՄೳʹ ্ํͷεϫΠϓ࣌ʹελʔτɾετοϓ͢ΔΑ͏ʹઃఆ .directionͰεϫΠϓํΛ4ํࢦఆՄೳ ը໘εϫΠϓͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ ը໘Λ2ຊࢦͰλοϓ͢Δͱελʔτɾετοϓ .numberOfTouchedRequiredͰԠ͢ΔࢦͷຊΛઃఆ iOSͩͱ3ຊࢦɺiPadOSͩͱ4ຊࢦ·ͰઃఆՄೳ 2ຊࢦλοϓͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ γΣΠΫ͞ΕͨΒελʔτɾετοϓ CoreMotionͰՃͷੜσʔλΛऔಘ͢Δ͜ͱՄೳ ࠓճUIKitͷmotionEnded()Λ༻ γΣΠΫδΣενϟʔͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ എ໘λοϓ࣌ʹγϣʔτΧοτΛొ ొ͞ΕͨSiri shortcut͕ىಈ ετοϓΥονΛελʔτ/ετοϓ Siri shortcutΛ࣮ ελʔτ/ετοϓΛγϣʔτΧοτʹ
© ZOZO, Inc. ۙηϯαʔͱ… ௨࣌ʹࣖΛεϐʔΧʔʹ͚ͭͨͱ͖ɺޡಈ࡞Λ͙ͨΊʹ λονύωϧΛແޮԽ͢ΔͨΊͷηϯαʔ εϫΠϓ ຊࢦ λοϓ γΣΠΫ
എ໘ λοϓ ۙ ηϯαʔ → iPhoneͷ্෦ΛखͰୟ͚ɺ؆୯ʹετοϓΥονΛ ੍ޚͰ͖ΔͷͰʁ ۙηϯαʔͷ੍ޚ࣮ʢྫʣ
© ZOZO, Inc. 33 N ճ छྨ ճ εϫΠϓ ຊࢦ
λοϓ γΣΠΫ എ໘ λοϓ ۙ ηϯαʔ Ϙλϯ º º N 4UPQ d ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 34
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 35
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 36
© ZOZO, Inc. 5ճத3ճޭ ७ਖ਼ετοϓΥονͱಉ͘͡Β͍ͷޭ εϫΠϓ͕ҙਤ͠ͳ͍ํߦ͖ɺԠ͠ͳ͔ͬͨ ্Լࠨӈͯ͢ͷεϫΠϓͰԠ͢ΔΑ͏ʹ࣮͕ͨ͠ɺ ࣼΊํಉ༷ʹԠ͠ͳ͔ͬͨ εϫΠϓ ࣮ࡍʹͬͯΈͨ
ه: UIPanGestureRecognizerͰ࣮ͨ͠ͱ͜Ζ্هͷղܾ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 38
© ZOZO, Inc. 39 5ճத0ճޭʢࣦͯ͢ഊʣ λοϓͷڧ͞ɾ͕͞௨ৗͷλοϓͱҟͳΔ ࢦ͕ΕΔ·Ͱʹಈ͘ɺʹΑΓ͏·͘Ԡ͠ͳ͔ͬͨ ʢ1ຊࢦͳΒʁ → ҙਤͤͣ৮ͬͯ͠·͏ɾ࿈ଓͰλοϓͯ͠͠·͏ʣ
ը໘Λ৮ΔΠϯλϥΫγϣϯʹ҆৺ײͱ͍͏໘Ͱ Ұఆͷ͕͋͠͞Δ ຊࢦλοϓ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 40
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 41
© ZOZO, Inc. 42 ͲͪΒ5ճத0ճޭʢࣦͯ͢ഊʣ ❓ ❓ ❓ ՃηϯαʔΛ࣮ͬͨΔ͜ͱͰʮγΣΠΫ͕ऴΘͬͨʯڥք͕ᐆດʹ… ੜσʔλΛͬͨͱͯ͠ݕग़େมͦ͏
γΣΠΫɾഎ໘λοϓ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. εϫΠϓ ຊࢦ λοϓ γΣΠΫ എ໘ λοϓ ۙ
ηϯαʔ Ϙλϯ 43
© ZOZO, Inc. 44 ͲͪΒ5ճத5ճޭʢͯ͢ޭ🎉ʣ ɾԠ͢Δ·ͰͷϨεϙϯε͕͍ ɾखΛୟ͘Α͏ʹͯ͠Γग़ͤΔͷͰ࿅श࣌ͷಈ͖ͱͯࣗ͠વ ɾΰʔϧ࣌ʹେ͖͘ϒϨͯԠͯ͘͠ΕΔ ɹ→ ҆৺ײɾ࿅शͷूதʹͭͳ͕Δ
ۙηϯαʔ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. 45 1ճ 2ճ 3ճ 4ճ 5ճ Ϙλϯλοϓ
✖ ⭕ ⭕ ⭕ ✖ 2ຊࢦλοϓ ✖ ✖ ✖ ✖ ✖ ্ํεϫΠϓ ⭕ ✖ ⭕ ✖ ⭕ γΣΠΫ ✖ ✖ ✖ ✖ ✖ എ໘λοϓ ✖ ✖ ✖ ✖ ✖ ۙηϯαʔ ⭕ ⭕ ⭕ ⭕ ⭕ λΠϜ͕ͳ͘औΕΔ࣮ʁ ࣮ࡍʹͬͯΈͨ
© ZOZO, Inc. 46 ແࣄϦϦʔεͰ͖·ͨ͠🎉 🎉 🎉
© ZOZO, Inc. 47 ΞϓϦʹ৭ʑͳϢʔεέʔε͕͋Γɺ ҰͭͷछྨͷΞϓϦͰ͏ਓ͕ҧ͏ͱ࠷దͳػೳҟͳΔ ͏ਓ͕୭ͳͷ͔ߟ͑ͯΞϓϦΛ࡞Ζ͏ ࠓճ࣮ͨ͠தͰۙηϯαʔ͕Ұ൪͏·͘λΠϜ͕औΕͨ ͦͷଞͷΠϯλϥΫγϣϯɺҧ͏༻్Ͱ׆͖ΔͷʹͳΔ ·ͱΊ
© ZOZO, Inc.
None