SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
Choose
Your
Animation
Adventure
Val Head • @vlh
Author of Designing Interface Animation
Design Advocate, Adobe
Choose
Your
Animation
Adventure
Val Head • @vlh
Author of Designing Interface Animation
Design Advocate, Adobe
You have encountered an interface that requires animation.
What would you like to use?
(1) CSS?
(2) JavaScript?
(3) SVG?
(4) …?
CSS
Key
Frames
Transitions
What CSS is great at:
• Well-defined state transitions
• Loading animations, looping animations
• Animations on :hover, :focus and similar
CSS
Pros:
• No external library needed
• Great potential for performance without much
effort
• Keyframes are reusable
• Can adjust properties in media queries for
responsive animation when needed
CSS
Cons:
• Access to limited events
• Defined entirely ahead of time
• Can’t separate transform properties*
CSS
CSS + JS = 🙌
CSSIn Summary
Where it shines:
• Animated interactions with defined states
• Simple interactive animations
Biggest Pro:
• Nearly effortless performance
• No additional requests
CSS is pretty great, but it might be 

time to move to JavaScript if:
• You’ll be chaining more than 3-ish animations in a
sequence
• The animation needs to change dynamically at runtime
• Need to animate transform properties separately
• Physics or other complex easing structures are required
VanillaCanvas Web GL
react
Libs
Web Animation
API
JS
What javascript is great at:
JS • Complex animated interactions
• Narrative or immersive animation
• Dynamic state transitions
requestAnimationFrame
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
JS animation libraries
Comparing JavaScript animation libraries…
TweenMax.to( box, 1,

{opacity:0.5, x:800, ease:Power2.easeIn}

);
Velocity(box, 

{opacity: 0.5, translateX:"+=800"}, 

{duration: 1000, easing:"easeInQuad"});
anime({
targets: box,
opacity:0.5,
translateX: 800,

duration: 1000,
easing: 'easeInQuad'

});
~9 - 29kb ~14.4kb ~4.7kb
back to IE8* back to IE8 back to IE10
Docs + forums Docs + SO Docs
drawSVG, morphSVG, Draggable drop-in replacement for jQuery very lightweight
Some features and licensing 

requires $
MIT licenseMIT license
JavaScript
In Summary
Where it shines:
• Complex UI animation
• Animation with dynamic states
• Immersive animation
Biggest Pro:
• Lots of options for how to get it done
• Can animate DOM, SVG, canvas
SVG
What SVG is great at:
SVG • Animated illustrations
• Animated icons
• Infographics and dataviz
• Fluidly scaling, responsive animation
SMIL
• Tag-based animation within
SVG
• No IE or Edge support
• Being deprecated in Chrome
😕 🙂 😁
CSS
• Transitions and keyframe
animations can be applied to
SVG elements
• Limited number of properties
are exposed to CSS
• Transforms not supported in
IE or Edge
JS
• Can access/animate native
SVG properties
• Can do motion along path,
shape morphing and more just
like SMIL*
airbnb.design/lottie/
lottiefiles.com
github.com/airbnb/lottie-web
SVGIn Summary
Where it shines:
•Animated illustrations & infographics
•Shape morphing
•Motion along a path
Biggest Pro:
•Responsive by nature
•Potential for tiny file sizes
PERFORMANCE
size - transform: scale()
position - transform: translate()
rotation - transform: rotate()
opacity
compositepaintlayoutstyle
csstriggers.com
CSS JavaScript
• CSS is declarative 

(whole animation is known ahead of
time)
• CSS animations with transform &
opacity won’t be impacted by the
main thread
• JS is imperative 

(browser only really aware of the
current frame)
• Hardware acceleration isn’t
automatic
SVG & Hardware Acceleration?
• Not all browsers support it
• Good performance in general without it though
Don’t be afraid to run your own tests
You have encountered an interface that requires animation.
What would you like to use?
(1) …?
Designing Interface Animation
designinginterfaceanimation.com
Thank you!
Newsletter: uianimationewsletter.com
Let’s chat on twitter: @vlh
Typeface: Brandon Text | Illustrations by Rachel Sager

Más contenido relacionado

La actualidad más candente

Retina Display - Supporting in Web Projects
Retina Display - Supporting in Web ProjectsRetina Display - Supporting in Web Projects
Retina Display - Supporting in Web Projects
Mark Riggan
 

La actualidad más candente (20)

Animations on Fire - Making Web animations fast
Animations on Fire - Making Web animations fastAnimations on Fire - Making Web animations fast
Animations on Fire - Making Web animations fast
 
WebAssembly vs JavaScript: What is faster?
WebAssembly vs JavaScript: What is faster?WebAssembly vs JavaScript: What is faster?
WebAssembly vs JavaScript: What is faster?
 
PG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & HybridPG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & Hybrid
 
Building JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJSBuilding JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJS
 
Psd 2 Drupal
Psd 2 DrupalPsd 2 Drupal
Psd 2 Drupal
 
Start using less css
Start using less cssStart using less css
Start using less css
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming API[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming API
 
Html5
Html5Html5
Html5
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
 
Famo.us introduction
Famo.us introductionFamo.us introduction
Famo.us introduction
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
Retina Display - Supporting in Web Projects
Retina Display - Supporting in Web ProjectsRetina Display - Supporting in Web Projects
Retina Display - Supporting in Web Projects
 
Mean stack
Mean stackMean stack
Mean stack
 
Journey To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The MachineJourney To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The Machine
 
Sass - Getting Started with Sass!
Sass - Getting Started with Sass!Sass - Getting Started with Sass!
Sass - Getting Started with Sass!
 
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 
Intro to EmberJS
Intro to EmberJSIntro to EmberJS
Intro to EmberJS
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescript
 
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million UsersAWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
 

Similar a Choosing your animation adventure - Generate NYC 2018

Css3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryCss3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQuery
Andrea Verlicchi
 
6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf
Be Problem Solver
 

Similar a Choosing your animation adventure - Generate NYC 2018 (20)

JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
Core Animation
Core AnimationCore Animation
Core Animation
 
Fastest css3 animations
Fastest css3 animations Fastest css3 animations
Fastest css3 animations
 
Css3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryCss3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQuery
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
CSS and CSS3
CSS and CSS3CSS and CSS3
CSS and CSS3
 
Iagc2
Iagc2Iagc2
Iagc2
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
Demystifying Angular Animations
Demystifying Angular AnimationsDemystifying Angular Animations
Demystifying Angular Animations
 
Responsive images, an html 5.1 standard
Responsive images, an html 5.1 standardResponsive images, an html 5.1 standard
Responsive images, an html 5.1 standard
 
SVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader AccessibilitySVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader Accessibility
 
First review presentation
First review presentationFirst review presentation
First review presentation
 
Svcc 2013-css3-and-mobile
Svcc 2013-css3-and-mobileSvcc 2013-css3-and-mobile
Svcc 2013-css3-and-mobile
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
 
Software Transition from Flash to HTML5 - WebElement
Software Transition from Flash to HTML5 - WebElementSoftware Transition from Flash to HTML5 - WebElement
Software Transition from Flash to HTML5 - WebElement
 
HTML5, CSS3, and other fancy buzzwords
HTML5, CSS3, and other fancy buzzwordsHTML5, CSS3, and other fancy buzzwords
HTML5, CSS3, and other fancy buzzwords
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3
 

Más de Val Head

Motion Design with CSS
Motion Design with CSS Motion Design with CSS
Motion Design with CSS
Val Head
 

Más de Val Head (10)

UX in Motion
UX in MotionUX in Motion
UX in Motion
 
The Ins and Outs of Easing
The Ins and Outs of EasingThe Ins and Outs of Easing
The Ins and Outs of Easing
 
Animation in design systems and process - Val Head
Animation in design systems and process - Val HeadAnimation in design systems and process - Val Head
Animation in design systems and process - Val Head
 
The Ins and Outs of Easing - dotCSS 2016
The Ins and Outs of Easing - dotCSS 2016The Ins and Outs of Easing - dotCSS 2016
The Ins and Outs of Easing - dotCSS 2016
 
The UX of Great Animation
The UX of Great AnimationThe UX of Great Animation
The UX of Great Animation
 
Designing Meaningful Animation
Designing Meaningful AnimationDesigning Meaningful Animation
Designing Meaningful Animation
 
Designing Meaningful Animation - AIGA Design Camp 2015
Designing Meaningful Animation - AIGA Design Camp 2015Designing Meaningful Animation - AIGA Design Camp 2015
Designing Meaningful Animation - AIGA Design Camp 2015
 
Web Designer to Motion Designer - Generate NYC
Web Designer to Motion Designer - Generate NYCWeb Designer to Motion Designer - Generate NYC
Web Designer to Motion Designer - Generate NYC
 
Motion Design with CSS
Motion Design with CSS Motion Design with CSS
Motion Design with CSS
 
Putting Your UIs In Motion On The Web (Animation & UX)
Putting Your UIs In Motion On The Web (Animation & UX)Putting Your UIs In Motion On The Web (Animation & UX)
Putting Your UIs In Motion On The Web (Animation & UX)
 

Último

➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
amitlee9823
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
nirzagarg
 
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
karishmasinghjnh
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
eeanqy
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
amitlee9823
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
amitlee9823
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
kumaririma588
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion pills in Kuwait Cytotec pills in Kuwait
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
tbatkhuu1
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
amitlee9823
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
amitlee9823
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation deck
tbatkhuu1
 

Último (20)

➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
 
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
 
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation deck
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
 

Choosing your animation adventure - Generate NYC 2018

  • 1. Choose Your Animation Adventure Val Head • @vlh Author of Designing Interface Animation Design Advocate, Adobe
  • 2. Choose Your Animation Adventure Val Head • @vlh Author of Designing Interface Animation Design Advocate, Adobe
  • 3.
  • 4. You have encountered an interface that requires animation. What would you like to use? (1) CSS? (2) JavaScript? (3) SVG? (4) …?
  • 5.
  • 7. What CSS is great at: • Well-defined state transitions • Loading animations, looping animations • Animations on :hover, :focus and similar CSS
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Pros: • No external library needed • Great potential for performance without much effort • Keyframes are reusable • Can adjust properties in media queries for responsive animation when needed CSS
  • 14. Cons: • Access to limited events • Defined entirely ahead of time • Can’t separate transform properties* CSS
  • 15. CSS + JS = 🙌
  • 16.
  • 17.
  • 18. CSSIn Summary Where it shines: • Animated interactions with defined states • Simple interactive animations Biggest Pro: • Nearly effortless performance • No additional requests
  • 19. CSS is pretty great, but it might be 
 time to move to JavaScript if: • You’ll be chaining more than 3-ish animations in a sequence • The animation needs to change dynamically at runtime • Need to animate transform properties separately • Physics or other complex easing structures are required
  • 21. What javascript is great at: JS • Complex animated interactions • Narrative or immersive animation • Dynamic state transitions
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 28. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 29. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 30. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 31. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 32.
  • 35.
  • 36. TweenMax.to( box, 1,
 {opacity:0.5, x:800, ease:Power2.easeIn}
 ); Velocity(box, 
 {opacity: 0.5, translateX:"+=800"}, 
 {duration: 1000, easing:"easeInQuad"}); anime({ targets: box, opacity:0.5, translateX: 800,
 duration: 1000, easing: 'easeInQuad'
 });
  • 37.
  • 38. ~9 - 29kb ~14.4kb ~4.7kb back to IE8* back to IE8 back to IE10 Docs + forums Docs + SO Docs drawSVG, morphSVG, Draggable drop-in replacement for jQuery very lightweight Some features and licensing 
 requires $ MIT licenseMIT license
  • 39. JavaScript In Summary Where it shines: • Complex UI animation • Animation with dynamic states • Immersive animation Biggest Pro: • Lots of options for how to get it done • Can animate DOM, SVG, canvas
  • 40. SVG
  • 41.
  • 42.
  • 43. What SVG is great at: SVG • Animated illustrations • Animated icons • Infographics and dataviz • Fluidly scaling, responsive animation
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. SMIL • Tag-based animation within SVG • No IE or Edge support • Being deprecated in Chrome 😕 🙂 😁 CSS • Transitions and keyframe animations can be applied to SVG elements • Limited number of properties are exposed to CSS • Transforms not supported in IE or Edge JS • Can access/animate native SVG properties • Can do motion along path, shape morphing and more just like SMIL*
  • 50.
  • 54. SVGIn Summary Where it shines: •Animated illustrations & infographics •Shape morphing •Motion along a path Biggest Pro: •Responsive by nature •Potential for tiny file sizes
  • 56. size - transform: scale() position - transform: translate() rotation - transform: rotate() opacity
  • 59.
  • 60.
  • 61. CSS JavaScript • CSS is declarative 
 (whole animation is known ahead of time) • CSS animations with transform & opacity won’t be impacted by the main thread • JS is imperative 
 (browser only really aware of the current frame) • Hardware acceleration isn’t automatic
  • 62. SVG & Hardware Acceleration? • Not all browsers support it • Good performance in general without it though
  • 63. Don’t be afraid to run your own tests
  • 64.
  • 65. You have encountered an interface that requires animation. What would you like to use? (1) …?
  • 67. Thank you! Newsletter: uianimationewsletter.com Let’s chat on twitter: @vlh Typeface: Brandon Text | Illustrations by Rachel Sager