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
SioriでどのようにCustom Transitionを実装しているのか
Search
ferasyasin
September 24, 2014
Programming
3
3k
SioriでどのようにCustom Transitionを実装しているのか
ferasyasin
September 24, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
140
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
Beyond ORM
77web
11
1.6k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
2025.01.17_Sansan × DMM.swift
riofujimon
2
560
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
240
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
快速入門可觀測性
blueswen
0
500
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Mobile First: as difficult as doing things right
swwweet
222
9k
Adopting Sorbet at Scale
ufuk
74
9.2k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Automating Front-end Workflow
addyosmani
1366
200k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Building Applications with DynamoDB
mza
93
6.2k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Designing Experiences People Love
moore
139
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
4 Signs Your Business is Dying
shpigford
182
22k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Transcript
4JPSJͰͲͷΑ͏ʹ$VTUPN5SBOTJUJPOΛ࣮͍ͯ͠Δ͔ ਅϑΟϥʔε
ࣗݾհ
ਅʢ͠ΜʣϑΟϥʔε ! ݄ΑΓΥϯςουϦʔגࣜձࣾʹσ βΠφʔͱͯ͠ࢀՃɻ ! 6*69ͷઃܭɾσβΠϯͪΖΜɺϑϩϯτ Τϯυͷ࣮ͬͯ·͢ʢ8FCɺΞϓϦ྆ํʣ ! ৄ͍͠ϓϩϑΟʔϧ ˠIUUQTXXXXBOUFEMZDPNVTFST
4JPSJϦϦʔε͠·ͨ͠ʂ
ͳΜͰδΣενϟʔૢ࡞ʁ ɾϘλϯͱ͔ඇδΣενϟʔʹൺೖྗྖҬ͕͍ͷͰɺɹɹ ɹը໘αΠζ͕େ͖ͯ͘ૢ࡞͕ѹతʹָͩ͠ૣ͍ ! ɾײతʹ͑ͯૢ࡞ָ͕͍͠ʂ ! ɾΧελϜͷUSBOTJUJPO͕ΞϓϦͷݸੑʹͳΔ ! ! ݴ༿Ͱઆ໌͢ΔΑΓ࣮ࡍʹͬͯΒͬͨ΄͏͕Θ͔Δͱ
ࢥ͏ͷͰμϯϩʔυͯͬͯ͠Έ͍ͯͩ͘͞ʂ
$VTUPN5SBOTJUJPO ͷΈ
$VTUPN5SBOTJUJPOΛܗ͢Δͭͷཁૉ GSPN7JFX$POUSPMMFS ҠಈݩͷWJFX$POUSPMMFS ! ! UP7JFX$POUSPMMFS ҠಈઌͷWJFX$POUSPMMFS ! ! BOJNBUJPO$POUSPMMFS
BOJNBUJPOͷ੍ޚΛ͢Δ
1VTI1PQͷ߹ QVTI·ͨQPQ7JFX$POUSPMMFSͰWJFXDPOUSPMMFSؒͷҠಈ ։࢝ OBWJHBUJPODPOUSPMMFSͷEFMFHBUFϝιουͰ͋Δ ‑navigationController: animationControllerForOperation: fromViewController: toViewController: ͕ݺΕΔ BOJNBUJPO$POUSPMMFSΛฦ͢
1VTI1PQͷ߹ QVTI·ͨQPQ7JFX$POUSPMMFSͰWJFXDPOUSPMMFSؒͷҠಈ ։࢝ OBWJHBUJPODPOUSPMMFSͷEFMFHBUFϝιουͰ͋Δ ‑navigationController: animationControllerForOperation: fromViewController: toViewController: ͕ݺΕΔ BOJNBUJPO$POUSPMMFSΛฦ͢
͜͜ͰDVTUPN༻ͷBOJNBUJPO$POUSPMMFSฦ͢
BOJNBUJPO$POUSPMMFSͬͯͳʹʁ 6*7JFX$POUSPMMFS"OJNBUFE5SBOTJUJPOJOHͷQSPUPDPMΛ࣮ͨ͠ΦϒδΣΫτ BOJNBUJPO$POUSPMMFSͰೋͭͷϝιουΛఆٛ͢Δඞཁ͕͋Δ ɾUSBOTJUJPO%VSBUJPO ɹUSBOTJUJPOͷΞχϝʔγϣϯͷ߹ܭ࣌ؒΛฦ͢ ɾBOJNBUF5SBOTJUJPO ɹUSBOTJUJPOͷΞχϝʔγϣϯΛఆٛ͢Δɻɹ ɹҾͰUSBOTJUJPO$POUFYUΛड͚औΔɻUSBOTJUJPO$POUFYU͔Β ɹGSPN7JFX$POUSPMMFSɺUP7JFX$POUSPMMFSɺDPOUBJOFS7JFX͕ ɹऔΕΔͷͰͦΕΛͬͯΞχϝʔγϣϯΛఆٛ͢Δɻ
$VTUPN5SBOTJUJPO Λ*OUFSBDUJWFʹ͢Δ
None
ͭͷཁૉ *OUFSBDUJPO$POUSPMMFS ɾ6*7JFX$POUSPMMFS*OUFSBDUJWF5SBOTJUJPOJOHͷQSPUPDPMΛ࣮ͨ͠ΦϒδΣΫτ ! ɾJOUFSBDUJWFUSBOTJUJPOJOHΛ؆୯ʹ࣮Ͱ͖Δ ɹ6*1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPO͕༻ҙ͞Ε͍ͯΔɻ ! ɾΞχϝʔγϣϯͷλΠϜϥΠϯ͕͋Δͱͯ͠ɺͦͷλΠϜϥΠϯ্ͷͲ͜ͷҐஔ ɹʹ͍Δ͔Λཧ͢Δɻ·ͨɺϢʔβͷೖྗʹΑͬͯQFSDFOU$PNQMFUFϓϩύ ɹςΟΛม͑Δ͜ͱͰΞχϝʔγϣϯΛ࠶ੜͨ͠Γר͖ͨ͠ΓͰ͖Δɻ
࣮ͷྲྀΕ ϢʔβͷೖྗʢδΣενϟʔʣΛݕ ! USBOTJUJPOΛ։࢝ ! BOJNBUJPO$POUSPMMFSΛOBWJHBUJPO$POUSPMMFSͷEFMFHBUFʹฦ͢ !
JOUFSBDUJPO$POUSPMMFSΛOBWJHBUJPO$POUSPMMFSͷEFMFHBUFʹฦ͢ ! Ϣʔβͷೖྗ͔ΒJOUFSBDUJPO$POUSPMMFSͷঢ়ଶΛΞοϓσʔτ͢Δ ! Ϣʔβͷೖྗ͕ऴΘͬͨΒJOUFSBDUJPO$POUSPMMFSʹUSBOTJUJPOΛ DBODFM͢Δ͔pOJTI͢Δ͔͑Δ
ϢʔβͷೖྗʢδΣενϟʔʣΛݕ ɾUSBOTJUJPO$POUSPMMFSͰϢʔβೖྗΛݕ͢ΔΑ͏ʹ ɹQBO(FTUVSF3FDPHOJ[FSΛ࡞Δɻ ! ɾͦͷQBO(FTUVSFΛରͷWJFX$POUSPMMFSʹషΔ
USBOTJUJPOΛ։࢝ ɾQBO(FTUVSFͷ6*(FTUVSF3FDPHOJ[FS4UBUF͕#FHBO ʹมΘͬͨΒUSBOTJUJPOʢQPQ7JFX$POUSPMMFS·ͨ QVTI7JFX$POUSPMMFSʣΛ։࢝͢Δ
BOJNBUJPO$POUSPMMFSΛOBWJHBUJPO$POUSPMMFSͷ EFMFHBUFʹฦ͢ ɾUSBOTJUJPO͕։࢝͢ΔͱOBWJHBUJPO$POUSPMMFSͷEFMFHBUFϝ ιουͰ͋ΔBOJNBUJPO$POUSPMMFS'PS0QFSBUJPO͕ݺΕΔͷ ͰBOJNBUJPO$POUSPMMFSΛฦ͢
JOUFSBDUJPO$POUSPMMFSΛOBWJHBUJPO$POUSPMMFSͷ EFMFHBUFʹฦ͢ ɾBOJNBUJPO$POUSPMMFS'PS0QFSBUJPO͕ݺΕͨ͋ͱ͙͢ʹ JOUFSBDUJPO$POUSPMMFS'PS"OJNBUJPO$POUSPMMFS͕ݺΕΔͷͰ JOUFSBDUJPO$POUSPMMFSΛฦ͢ɻ
Ϣʔβͷೖྗ͔ΒJOUFSBDUJPO$POUSPMMFSͷঢ়ଶΛ Ξοϓσʔτ͢Δ ɾQBO(FTUVSFͷTUBUF͕$IBOHFʹมΘͬͨΒδΣενϟʔͷҠಈڑ͔Β ɹQFSDFOUΛܭࢉͯ͠VQEBUF*OUFSBDUJWF5SBOTJUJPOϝιουʹҾͱͯ͠ ɹQFSDFOUΛͯ͠QFSDFOU$PNQMFUFEϓϩύςΟΛΞοϓσʔτ͢Δɻ ɾδΣενϟʔ͕ଓ͍ͯΔؒৗʹΞοϓσʔτ͢ΔΑ͏ʹ͢Δ ɾBOJNBUJPO$POUSPMMFSͷBOJNBUF5SBOTJUJPOϝιου͕BOJNBUJPOͷλΠϜϥ ɹΠϯΛ࡞ͬͯ͘ΕΔɻͦͷλΠϜϥΠϯ্ͷͲ͜ʹ͍Δ͔Λஅ͢ΔͨΊʹ ɹJOUFSBDUJPO$POUSPMMFSͷVQEBUF*OUFSBDUJWF5SBOTJUJPOϝιουΛݺͿɻ
Ϣʔβͷೖྗ͕ऴΘͬͨΒJOUFSBDUJPO$POUSPMMFSʹ USBOTJUJPOΛDBODFM͢Δ͔pOJTI͢Δ͔͑Δ ɾQBO(FTUVSFͷTUBUF͕$BODFMMFEɺ'BJMFEɺ·ͨ'JOJTIFE ʹͳͬͨ͜ͱͰδΣενϟʔ͕ऴྃͨ͜͠ͱΛݕ͢Δ ɾδΣενϟʔ͕ऴྃͨ͠ΒϢʔβ͕USBOTJUJPOΛΩϟϯηϧ͠ ͔ͨͬͨͷ͔͔ྃͨͬͨ͠ͷ͔Λஅͯ͠ JOUFSBDUJPO$POUSPMMFSͷDBODFM*OUFSBDUJWF5SBOTJUJPO·ͨ pOJTI*OUFSBDUJWF5SBOTJUJPOϝιουΛݺΜͰUSBOTJUJPOΛྃ ͤ͞Δɻ
ෳͷHFTUVSF SFDPHOJ[FSΛ੍ޚ͢Δ
1PQ 1VTI 4DSPMM 4JPSJͰͻͱͭͷWJFX$POUSPMMFSʹෳͷ HFTUVSFSFDPHOJ[FS͕ࠞࡏͯ͠Δɻ 4XJQF
Ͳ͏੍ͬͯޚ͍ͯ͠Δ͔ʁ ɾUSBOTJUJPO͕TUBSU͢Δ͔͠ͳ͍͔WJFX$POUSPMMFSͰஅ͢Δ ɾJOUFSBDUJPO$POUSPMMFS͔ΒWJFX$POUSPMMFSʹEFMFHBUFΛషΔ ɾJOUFSBDUJWF5SBOTJUJPO$BO4UBSU JOUFSBDUJWF5SBOTJUJPO4IPVME$BODFM ɹJOUFSBDUJWF5SBOTJUJPO4IPVME'JOJTIͳͲͷEFMFHBUFϝιου༻ҙͯ͠
ɹWJFX$POUSPMMFSͰͦΕͧΕͷJOUFSBDUJPO$POUSPMMFSͷϝιουΛ੍ޚ͢Δɻ ! ɾ6*(FTUVSF3FDPHOJ[FS%FMFHBUFΛར༻͢Δ ɾTIPVME3FDPHOJ[F4JNVMUBOFPVTMZ8JUI(FTUVSF3FDPHOJ[FS ɹɹ ɹHFTUVSF3FDPHOJ[FS4IPVME#FHJOΛ͏·͘ར༻͢Δɻ ɾͨͱ͑QPQ͢ΔWJFX͕ͳ͍࣌QPQͷJOUFSBDUJPO$POUSPMMFSͷHFTUVSFͷ ɹHFTUVSF3FDPHOJ[FS4IPVME#FHJOͰGBMTFΛฦͯͦͦ͠Ԡ͠ͳ͍Α͏ʹ͢Δɻ ! ɾWJFX$POUSPMMFSͰJT5SBOTJUJPOJOHϓϩύςΟΛ࡞ͬͯUSBOTJUJPOத͔Ͳ͏͔ͷ ɹϑϥάΛཱͯΔ ɾUSBOTJUJPOJOHதͰ͋ΕTDSPMM7JFXͷTDSPMM͠ͳ͍Α͏ʹ͢ΔͳͲɻ
ͬͯΈͯࢥͬͨ͜ͱ ɾJ04͔Βެ։͞Εͨ"1*ͳͷͰ·ͩ·ͩใ͕গͳ͍ ɾϕετϓϥΫςΟε͕Θ͔Βͳ͍ɻJOUFSBDUJWFUSBOTJUJPO͕ෳʹ ɹͳΔͱ్ʹෳࡶʹͳΔɻͲ͜ʹCVH͕͋Δ͔Θ͔Γʹ͍͘ɻ ! ɾUSBOTJUJPOΛΩϟϯηϧͯͦ͠ͷ··TDSPMMʹೖΔΑ͏ʹ͢Δͱ͔ɺ ɹBOJNBUJPOΛεϜʔεʹΓସ͑Δͷʹۤ࿑ͨ͠ ! ɾଞ͕ͬͯͳ͍ͬͨΒཱ͔ͭ
σβΠφʔืूͯ͠·͢ʂ IUUQTXXXXBOUFEMZDPNQSPKFDUT ΤϯδχΞืूͯ͠·͢ʂ IUUQTXXXXBOUFEMZDPNQSPKFDUT