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
Musicアプリのトランジションを再現する
Search
kNagadou
August 31, 2018
Programming
3
2.4k
Musicアプリのトランジションを再現する
iOSDC Japan 2018/8/31 TrackC 15:10~15:40
kNagadou
August 31, 2018
Tweet
Share
More Decks by kNagadou
See All by kNagadou
勇気を出して、Appleにバグレポートを出してみませんか?
knagadou
0
990
iPhoneX対応とScrollViewのcontentInset
knagadou
1
620
テスト実行時に 不要な初期化コードを実行しないようにする
knagadou
4
1.4k
Other Decks in Programming
See All in Programming
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
Temporalを取り巻く仕様を整理する
sajikix
0
110
Rust.Nagoya #1
codemountains
0
170
CSC307 Lecture 13
javiergs
PRO
0
150
How to use Macrobenchmark
veronikapj
0
160
CSC307 Lecture 05
javiergs
PRO
0
210
Product Management LT会_クアンド新家
shinshin
0
210
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
小さな開発会社を作った理由
polidog
0
1.9k
Advanced App Shrinking Techniques
cbeyls
2
150
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
A better future with KSS
kneath
231
17k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Scaling GitHub
holman
458
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Atom: Resistance is Futile
akmur
261
25k
Speed Design
sergeychernyshev
9
270
The Mythical Team-Month
searls
217
43k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Adopting Sorbet at Scale
ufuk
71
8.8k
Code Review Best Practice
trishagee
58
16k
Transcript
.VTJDΞϓϦͷ τϥϯδγϣϯΛ࠶ݱ͢Δ ,":"$ٕज़෦ ,B[VNBTB/"("%0 J04%$+BQBO5SBDL$d JPTEDDےΤϯδχΞ
/BNF,B[VNBTB/"("%0 8PSL,":"$d 5XJUUFS!L[NTOHE /1$+/FX(FOFSBUJPO$MBTTJD 1IZTJRVF/PWJDFDN 1SPpMF
ࠓ͔Βग़དྷΔےංେΫΠζ 2 τϨʔχϯά͍࣌ؒ΄͏͕ྑ͍ʁ ͍΄͏͕ྑ͍ʁ
ࠓ͔Βग़དྷΔےංେΫΠζ " τϨʔχϯά͍࣌ؒ΄͏͕ྑ͍ ɹˠʙ͘Β͍͕ͪΐ͏Ͳ͍͍ͱ͞Ε͍ͯΔ τϨʔχϯά͕͍࣌ؒͱʜ ɾےղ͕ਐΈ͗ͯ͢͠·͏ ɹˠےղΛଅਐ͢ΔͱݴΘΕ͍ͯΔίϧνκʔϧ͕૿Ճ͢Δ ɾΦʔόʔτϨʔχϯάʹͳΔ ɹˠճ෮͕͍͔ͭͳ͘ͳΔ ɾूதྗ͕อͯͳ͍
ɹˠոզͷϦεΫ
ˎJ5VOFT"QQ4UPSF IUUQTJUVOFTBQQMFDPNKQBQQMPCJϩϏʔJE NU ˎ"OESPJE IUUQTQMBZHPPHMFDPNTUPSFBQQTEFUBJMT JEDPNLBZBDOBLBNBQIMKB ˎ8FC൛ IUUQTXFCMPCJDP
ήʔϜ߈ུνϟοτ4/4 -PCJ
Ϟʔμϧʹ͍ͭͯ
Ϟʔμϧͱ 8IFOBNPEBMWJFXBQQFBSTPOTDSFFO UIFVTFSNVTUNBLF BDIPJDFCZUBQQJOHBCVUUPOPSPUIFSXJTFFYJUJOHUIF NPEBMFYQFSJFODF "QQMF)VNBO*OUFSGBDF(VJEFMJOF.PEBMJUZΑΓ
Ϟʔμϧͱ ϞʔμϧϏϡʔɺҰ࣌తͳঢ়ଶʢϞʔυʣΛ࡞ͬͯ ಛఆͷΞΫγϣϯΛϢʔβʔʹଅ͢ɻ ˠ͍ͭͰલͷঢ়ଶɾը໘ʹΕΔ͜ͱ͕ Θ͔Δ6*͕ٻΊΒΕΔ
Ϟʔμϧͷྫ ϑϧεΫϦʔϯ
Ϟʔμϧͷྫ Ξϥʔτܕ
Ϟʔμϧͷྫ .VTJDͷϞʔμϧϏϡʔ
Ϟʔμϧͷྫ ϛϡʔδοΫϓϨΠϠʔ ˠΠϯλϥΫςΟϒʹ։ด ˠԻָͷ࠶ੜͱݕࡧ͕ಉ࣌ʹͰ͖Δ
Ϟʔμϧͷྫ ΠϯλϥΫςΟϒͳཁૉ ˎഎܠը໘ͷଘࡏ ˎεϫΠϓͷྔʹԠͨ͡ ɹϞʔμϧϏϡʔͷτϥϯδγϣϯ ˎϞʔμϧϏϡʔ্෦ͷ ɹόλϑϥΠϋϯυϧ
࣮ݱ͍ͨ͜͠ͱ
࣮ݱ͍ͨ͜͠ͱ -PCJͷಛ ήʔϜʹಛԽͨ͠ίϛϡχςΟ
࣮ݱ͍ͨ͜͠ͱ ήʔϜΛ͕͢͞ը໘ΛϦχϡʔΞϧ
࣮ݱ͍ͨ͜͠ͱ ᶃؾʹͳΔήʔϜ͓ؾʹೖΓͷήʔϜΛ͕͢͞ .VTJDΞϓϦͷΑ͏ʹɺΠϯλϥΫςΟϒͳ ϞʔμϧϏϡʔʹ͍ͨ͠ ᶄήʔϜͷίϛϡχςΟίϯςϯπΛ͕͢͞ ϝΠϯίϯςϯπ
࣮ݱ͍ͨ͜͠ͱ
࣮ݱ͍ͨ͜͠ͱ ϞʔμϧϏϡʔτϥϯδγϣϯ ΠϯλϥΫςΟϒͳτϥϯδγϣϯ 6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ֎෦ϥΠϒϥϦΛΘͣʹɺͰ͖Δ͚ͩγϯϓϧɾ࠷ݶͷ ࣮ͰΓ͍ͨ
αϯϓϧίʔυ IUUQTHJUIVCDPNL/BHBEPV.PEBM1SFTFOUBUJPO$VTUPN ্ख͍͔͘ͳͯ͘ϋϚͬͨύλʔϯ͋Γ·͢
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ࣮ݱ·Ͱͷεςοϓ ̍ɼϞʔμϧτϥϯδγϣϯΛ࣮ ̎ɼΞχϝʔλʔΦϒδΣΫτΛ࣮ ̏ɼΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮
ϞʔμϧϏϡʔτϥϯδγϣϯ ϞʔμϧτϥϯδγϣϯΛ༗ޮʹ͢Δ αϯϓϧίʔυɿ7JFX$POUSPMMFSN 6*.PEBM1SFTFOUBUJPO$VTUPNΛ7$ʹηοτ͢Δ
ϞʔμϧϏϡʔτϥϯδγϣϯ ϞʔμϧϏϡʔͷഎ໘ʹӨΛ͚Δ αϯϓϧίʔυɿ7JFX$POUSPMMFSN 6*1SFTFOUBUJPO$POUSPMMFSͷαϒΫϥεΛ࡞͠ɺ USBOTJUJPO%FMFHBUFͰฦ͢ ˠ࣮͍ͯ͠ͳ͍ͱɺඪ४ͷ6*1SFTFOUBUJPO$POUSPMMFS͕ར༻ ͞ΕΔɻ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJWJFXDPOUSPMMFSUSBOTJUJPOJOHEFMFHBUF
QSFTFOUBUJPODPOUSPMMFSGPSQSFTFOU MBOHVBHFPCKD
ϞʔμϧϏϡʔτϥϯδγϣϯ ϞʔμϧϏϡʔͷഎ໘ʹӨΛ͚Δ αϯϓϧίʔυɿ7JFX$POUSPMMFSN 6*1SFTFOUBUJPO$POUSPMMFSͷαϒΫϥεΛ࡞͠ɺ USBOTJUJPO%FMFHBUFͰฦ͢ ˠ࣮͍ͯ͠ͳ͍ͱɺඪ४ͷ6*1SFTFOUBUJPO$POUSPMMFS͕ར༻ ͞ΕΔɻ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJWJFXDPOUSPMMFSUSBOTJUJPOJOHEFMFHBUF
QSFTFOUBUJPODPOUSPMMFSGPSQSFTFOU MBOHVBHFPCKD
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ$VTUPN.PEBM"OJNBUPSN I 6*7JFX$POUSPMMFS"OJNBUFE5SBOTJUJPOJOHϓϩτίϧ
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ$VTUPN.PEBM"OJNBUPSN I JT1SFTFOUJOH QSFTFOUͱEJTNJTTͷΞχϝʔγϣϯΛ ͍͚ΔͨΊͷϑϥά
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ %SBHHBCMF1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPON I 6*1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPOͷαϒΫϥε
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ %SBHHBCMF1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPON I ϞʔμϧϏϡʔʹύϯδΣενϟʔΛՃ εϫΠϓྔʹԠͯ͡ɺϞʔμϧϏϡʔͷEJTNJTTΞχϝʔ
γϣϯΛਐΊΔ
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ %SBHHBCMF1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPON I EJTBCMF*OUFSBDUJWF5SBOTJUJPO ΠϯλϥΫςΟϒτϥϯδγϣϯͷແޮϑϥά
ˠύϯδΣενϟʔΛೝࣝͨ͠߹ͷΈΠϯλϥΫςΟϒ τϥϯδγϣϯΛ༗ޮʹ͢ΔͨΊ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ΧελϜͷϞʔμϧϏϡʔͰ 6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ͷΈ߹ΘͤΛར༻͠Α͏ͱͨ͠ͱ͜ΖɺࢥΘ͵མͱ͕݀͠ɻ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS མͱ݀̍͠ ϞʔμϧϏϡʔͷࠨӈʹϚʔδϯΛ͚Α͏ͱ͢Δ J04Ͱ6*4FBSDI$POUSPMMFS6*4FBSDI#BS͕ ্ʹͣΕΔ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS མͱ݀̎͠ "OJNBUPSͰϞʔμϧϏϡʔͷGSBNFΛม͑Α͏ͱ͢Δ ʢྫ͑ɺҙͷZʹϞʔμϧϏϡʔΛදࣔ͢ΔɺͳͲʣ ˠJ04Ͱ6*4FBSDI$POUSPMMFS6*4FBSDI#BS͕ͣΕΔ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ͍Ζ͍ΖͱϞʔμϧϏϡʔΛΧελϚΠζ͠Α͏ͱ͢Δͱɺ 6*4FBSDI$POUSPMMFS͕͍ͮΒ͘ͳ͍ͬͯ͘ʜ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS 6*5BCMF7JFX 6*4FBSDI#BS 6*4FBSDI#BS%FMFHBUF ͱ͍͏ख͋Δɻ ˠͲͷམͱ݀͠ύλʔϯͰɺ 6*4FBSDI#BSͳΒਖ਼͘͠දࣔͰ͖ͦ͏
·ͱΊ
ΠϯλϥΫςΟϒτϥϯδγϣϯ ࣮ݱ·Ͱͷεςοϓ ̍ɼϞʔμϧτϥϯδγϣϯΛ࣮ 6*.PEBM1SFTFOUBUJPO$VTUPN USBOTJUJPO%FMFHBUF 6*1SFTFOUBUJPO$POUSPMMFSͷαϒΫϥε ̎ɼΞχϝʔλʔΦϒδΣΫτΛ࣮ 6*7JFX$POUSPMMFS"OJNBUFE5SBOTJUJPOJOHΛ࣮
̏ɼΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮ 6*1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPOͷαϒΫϥε
ΧελϜϞʔμϧϏϡʔͰ6*4FBSDI$POUSPMMFSΛ͏߹ গ͕͠ඞཁ͔͠Εͳ͍ ˠఘΊͯɺ6*4FBSDI#BSͰ࣮ͯ͠͠·͏ͷΞϦͩͱࢥ͏
J04ɺ"OESPJEɺͳͲͳͲ ΤϯδχΞઈࢍืूதʂ
߹ಉτϨʔχϯάઈࢍืूதʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠
Ҿ༻ɾࢀߟ <>IUUQTEFWFMPQFSBQQMFDPNEFTJHOIVNBOJOUFSGBDFHVJEFMJOFTJPTBQQ BSDIJUFDUVSFNPEBMJUZ <>IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU VJWJFXDPOUSPMMFSUSBOTJUJPOJOHEFMFHBUF MBOHVBHFPCKD <>IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU VJWJFXDPOUSPMMFSBOJNBUFEUSBOTJUJPOJOH MBOHVBHFPCKD <>IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU
VJWJFXDPOUSPMMFSJOUFSBDUJWFUSBOTJUJPOJOH MBOHVBHFPCKD IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJQSFTFOUBUJPODPOUSPMMFS MBOHVBHFPCKD <>IUUQTEFWFMPQFSBQQMFDPNKQEPDVNFOUBUJPOGFBUVSFEBSUJDMFT 7JFX$POUSPMMFS1(GPSJ1IPOF04$VTUPNJ[JOHUIF5SBOTJUJPO"OJNBUJPOT $VTUPNJ[JOHUIF5SBOTJUJPO"OJNBUJPOTIUNMBQQMF@SFGEPDVJE51 $)48 <>IUUQTOPUFNVVTBHJNBSVNBOODDFD