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
1k
iPhoneX対応とScrollViewのcontentInset
knagadou
1
650
テスト実行時に 不要な初期化コードを実行しないようにする
knagadou
4
1.4k
Other Decks in Programming
See All in Programming
5年分のツケを一気に払った話
soogie
1
210
標準ライブラリの動向とイテレータのパフォーマンス
makki_d
2
150
Patched fetch did not work
quramy
6
470
GraphQLでいい感じの検索APIを作りたい
estie
0
150
Modern Angular with the NGRX Signal Store New Rules for Your Architecture @BASTA! 2024 in Mainz
manfredsteyer
PRO
0
280
個人開発のおいしさと続け方
3l4l5
0
110
Beyond the RuboCop Defaults
koic
2
350
Compose Multiplatform과 Ktor로 플랫폼의 경계를 넘어보자
kwakeuijin
0
150
Hermes: Better Performance with Bytecode Translation (React Universe 2024)
tmikov2023
0
180
Cohesion in Modeling and Design
mploed
3
120
M5Stack に色々な M5ユニットをつないで扱う為の新たなアプローチ
gob
0
190
CSC305 Lecture 01
javiergs
PRO
0
130
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Invisible Customer
myddelton
119
13k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
Making Projects Easy
brettharned
114
5.8k
GraphQLとの向き合い方2022年版
quramy
43
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Principles of Awesome APIs and How to Build Them.
keavy
125
17k
Design by the Numbers
sachag
277
19k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
The Language of Interfaces
destraynor
154
24k
Infographics Made Easy
chrislema
239
18k
What's new in Ruby 2.0
geeforr
340
31k
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