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.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SioriでどのようにCustom Transitionを実装しているのか
ferasyasin
September 24, 2014
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
250
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
530
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
Inside Stream API
skrb
1
680
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
680
Modding RubyKaigi for Myself
yui_knk
0
920
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
490
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
710
Webフレームワークの ベンチマークについて
yusukebe
0
160
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.6k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
660
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Embracing the Ebb and Flow
colly
88
5.1k
Music & Morning Musume
bryan
47
7.2k
We Have a Design System, Now What?
morganepeng
55
8.2k
30 Presentation Tips
portentint
PRO
1
320
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Building Adaptive Systems
keathley
44
3k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
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