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
4.7k
全力疾走中でも使えるストップウォッチアプリを作る
Ogijun
September 12, 2022
Tweet
Share
More Decks by Ogijun
See All by Ogijun
全力の跳躍を捉える計測アプリを作る
ogijun2018
1
3.6k
続・全力疾走中でも使えるストップウォッチアプリを作る 〜LiDARを使った精度への挑戦〜
ogijun2018
1
1.6k
あなたの知らないWWDC現地参加の世界
ogijun2018
0
3k
新社会人でも活躍したい!〜新卒1年目で活躍するためのコツ〜
ogijun2018
1
600
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Writing Fast Ruby
sferik
629
62k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
The Pragmatic Product Professional
lauravandoore
36
6.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
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