Slide 1

Slide 1 text

View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung Sascha Lehmann @derLehmann_S Consultant

Slide 2

Slide 2 text

Consultant @ Thinktecture AG Sascha Lehmann @derLehmann_S [email protected] https://www.thinktecture.com/thinktects/sascha-lehmann/  ✉  View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 3

Slide 3 text

X-Platform Entwicklung? View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 4

Slide 4 text

View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung Native Web X-Platform …

Slide 5

Slide 5 text

Wo ist das Problem? View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 6

Slide 6 text

View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung https://goo.gle/fugu-api-tracker

Slide 7

Slide 7 text

Container-Transforms View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 8

Slide 8 text

View-Transition-API View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung 111+ TP X

Slide 9

Slide 9 text

Trigger Ablauf einer View-Transition View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 10

Slide 10 text

Was im Hintergrund passiert Ablauf einer View-Transition View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung User Perspective Browser Perspective Screenshot (old) Perform DOM changes Live-View (new) Crossfade Old -> New startViewTransition(…)

Slide 11

Slide 11 text

Pseudo DOM Tree • Neuer Top-Layer • Standardanimation: Cross-fade • Elemente existieren nur so lange bis die View-Transition abgeschlossen ist Ablauf einer View-Transition View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 12

Slide 12 text

Pseudo Elemente ::view-transition Overlay-Root-Element, das über allen anderen DOM-Elementen sitzt, um genenseitige Beeinträchtigungen auszuschließen ::view-transition-group Root-Element der View-Transition ::view-transition-image-pair Container des Vorher- und Nachher- Screenshots ::view-transition-old/-new Elemente die den vorherigen (old) oder folgenden (new) DOM Zusatand in Form eines Screenshots darstellen Ablauf einer View-Transition Jedes Pseudo-Element ist separat per CSS stylebar View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 13

Slide 13 text

Die Scrennshots sind ”nur” Bilder – Keine DOM Elemente Aber ACHTUNG! Hat keinen Effekt! View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 14

Slide 14 text

Beispielanwendung animieren

Slide 15

Slide 15 text

Browser Stylesheet Woher kommt die Magie? View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 16

Slide 16 text

Was im Hintergrund passiert Zusätzliche Teile “ausschneiden” View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung User Perspective Browser Perspective Screenshot (old) Perform DOM changes Live-View (new) Crossfade Old -> New startViewTransition(…)

Slide 17

Slide 17 text

Was im Hintergrund passiert Zusätzliche Teile “ausschneiden” View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung User Perspective Browser Perspective Perform DOM changes Live-View (new) Crossfade Root - animiere Header separat startViewTransition(…) Screenshot-Header (old)

Slide 18

Slide 18 text

DOM-Elemente Zusätzliche Teile “ausschneiden” View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 19

Slide 19 text

Beispielanwendung animieren

Slide 20

Slide 20 text

Scroll-Driven-Animations View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung 115+ X X

Slide 21

Slide 21 text

Default – Document Timeline Animation-Timelines View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung • Die default Document-Timeline • Zeit schreitet, ab dem Zeitpunkt ab dem das Dokument initial geladen wurde, kontinuierlich voran

Slide 22

Slide 22 text

Scroll Progress Timeline • Scroller: Element, dessen Scroll-Progress herangezogen wird • nearest (default) • root • self • Axis: Scroll-Achse die verwendet werden soll • block (default) • inline • X • Y Animation-Timelines View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung • Die Zeit schreitet durch das Scolling eines scollable Elements (scroller) voran • Die Scrollposition wird in Prozentwerte von 0 – 100 % umgewandelt

Slide 23

Slide 23 text

View Progress Timeline • Axis: Scroll-Achse die verwendet werden soll • block (default) • inline • X • Y • Inset: Zur festlegung von insets bzw. outsets, die bestimmen wann sich das Element im Viewport befindet • start (top-offset) • end (bottom-offset) Animation-Timelines View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung • Die Zeit schreitet durch die Sichtbarkeit eines Elements (subject) voran • Die Sichtbarkeit des Elements im Viewport wird in Prozentwerte von 0 – 100 % umgewandelt • Wird immer in Abhänigkeit zum nächstbesten scrollbaren Element getracked

Slide 24

Slide 24 text

View Progress Timeline • Alternative Schreibweise zu view( start end) • Zusätzliche Key-Words für animation-range • entry: Entspricht 0% • exit: Entspricht 100% • Zusätzliche Key-Words für animation- range-start und animation-range-end • cover: Sobald nur ein Teil des Elements im Viewport sichtbar ist • contain: Das gesamte Element muss im Viewport sichtbar sein • Eignen sich bspw. sehr gut für Fälle mit Bildern unterschiedlicher höhen Animation-Timelines View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 25

Slide 25 text

Beispielanwendung animieren

Slide 26

Slide 26 text

Ein Blick … … in die Zukunft View-Transition-API und Scroll-Driven Animations Gamechanger für die hybride App-Entwicklung

Slide 27

Slide 27 text

Sascha Lehmann [email protected] Dankeschön! @derLehmann_S [email protected] https://www.thinktecture.com/thinktects/sascha-lehmann/  ✉ 

Slide 28

Slide 28 text

Demos / Repo Links • https://scroll-driven-animations.style/ • https://codepen.io/argyleink/pen/VwBKjwj • https://codepen.io/bramus/full/xxmozvN • https://github.com/thinktecture-labs/view-transition-api-scroll-driven- animations-webinar