Besuchen Sie den ursprünglichen Beitrag devaradise.com/javascript-react-animation-l.. für bessere Navigation mit Inhaltsverzeichnis.
Animationen können Ihre Webanwendungen von gut zu großartig machen, indem sie interaktiver und ansprechender werden. Sie bieten visuelle Rückmeldungen, leiten die Benutzer durch das Interface und verleihen Ihren Projekten einen persönlichen Touch.
Es gibt eine Menge Animationslibrairie von einfachen, auf CSS basierenden Bibliotheken bis zu leistungsstarken JavaScript-Bibliotheken, die komplizierte Animationen erzeugen können. In diesem Artikel gehen wir einander die 15 besten Animationslibrairie für React und moderne Webanwendungen näher.
Von den bekannten React Spring und Framer Motion bis zu spezialisierten Bibliotheken wie Vivus und Three.js, finden Sie hier was Sie brauchen, um Ihre Webprojekte zu verblüffen. Lassen Sie uns diese Bibliotheken exploren und sehen, wie sie die Benutzererfahrung Ihrer Webseite verändern können!
Animationen Bibliotheken für allgemeine Anwendungsfälle
1. Animate.css – CSS-Animation
Animate.css ist eine populäre CSS-Bibliothek, die eine Vielzahl von vordefinierten Animationen bereitstellt, was die Anwendung von Animationen in jedem Webprojekt einfach macht. Mit über 80.2k Sternen auf GitHub und Millionen von npm-Downloads ist Animate.css eine mustergültige Wahl für schnelle und einfache Animationen.
Installation und grundlegender Gebrauch
npm install animate.css
import 'animate.css';
<div class="animate__animated animate__bounce">An animated element</div>
Besten Anwendungsfall
Animate.css ist am besten geeignet für einfache Animationen, die schnell ohne die Notwendigkeit von JavaScript implementiert werden müssen.
Vorteile
Leicht zu verwenden, leicht, vielseitiges Sortiment an Animationen.
Nachteile
Beschränkt auf CSS-Animationen, weniger Kontrolle über das Verhalten der Animationen.
2. React Spring
React Spring ist eine populäre Animationbibliothek für React, die auf der Basis der springenden Physik kraftvoll und flexibel Animationen erzeugt. Es hat über 27.8k Sterne auf GitHub und wird in der Community breit verwendet.
Installation und grundlegender Gebrauch
npm install @react-spring/web
import React from 'react';
import { useSpring, animated } from '@react-spring/web';
const App = () => {
const springs = useSpring({
from: { x: 0 },
to: { x: 100 }
});
return (
<animated.div
style={{
width: 80,
height: 80,
background: '#ff6d6d',
borderRadius: 8
}}
/>
);
};
export default App;
Besten Anwendungsfall
Erstellung komplizierter Animationen mit feiner abgestimmter Kontrolle über Übergänge und Interaktionen.
Vorteile
Hochgradig flexibel, unterstützt fortschrittliche Animationen, gute Community-Unterstützung.
Nachteile
Der Lerneinsatz kann für Anfänger steil sein.
3. Framer Motion
Framer Motion ist eine leistungsstarke Animationbibliothek, die bekannt ist für ihre einfache Nutzung und umfassende Features. Sie hat über 22.8k Sterne auf GitHub und wird vielfach für ihre intuitive API gelobt.
Installation und grundlegende Nutzung
npm install framer-motion
import React from 'react';
import { motion } from 'framer-motion';
const App = () => {
return (
<motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ duration: 1 }}>
Hello, Framer Motion!
</motion.div>
);
};
export default App;
Beste Anwendung
Erstellen von flüssigen und visuell ansprechenden Animationen mit minimalem Code.
Vorteile
Intuitives API, Unterstützung für Keyframe-Animationen, großartige Dokumentation.
Nachteile
Leicht größere Paketsize im Vergleich zu anderen Bibliotheken.
4. Anime.js
Anime.js ist eine leichte JavaScript-Animationsbibliothek mit einer leistungsstarken API. Sie hat über 49.2k Sterne auf GitHub und wird vielfach zur Erstellung komplexer und hoch aufzuladender Animationen verwendet.
Installation und grundlegende Nutzung
npm install animejs
import anime from 'animejs/lib/anime.es.js';
anime({
targets: 'div',
translateX: 250,
rotate: '1turn',
duration: 800
});
Beste Anwendung
Erstellen von detaillierten und komplizierten Animationen mit präzisen Kontrollmöglichkeiten.
Vorteile
Leicht, vielseitig, hoch anpassbar.
Nachteile
JavaScript-Knowledge erforderlich, kann für einfache Animationen kompliziert sein.
5. GSAP (GreenSock Animation Platform)
GSAP ist eine leistungsstarke JavaScript-Animationsbibliothek, die für ihre hohe Leistung und ihr umfassendes Feature-Sortiment bekannt ist. Sie hat über 19.2k Sterne auf GitHub und findet breite Anwendung in sowohl Web- als auch Mobile-Anwendungen.
Installation und grundlegende Nutzung
npm install gsap
import { gsap } from 'gsap';
gsap.to('.box', { rotation: 27, x: 100, duration: 1 });
Beste Anwendungsfall
Hohe-Leistungs-Animationen und komplexe Sequenzen.
Vorteile
Extrem leistungsstark, robust, hohe Leistung.
Nachteile
Größere Paketsize, erfordert Lernzeit.
6. Popmotion
Popmotion ist eine funktionale, flexibelle JavaScript-Animationsbibliothek. Es leistet die Animationen in Framer Motion. Sie hat über 19.9k Sterne auf GitHub und bietet eine Reihe von Werkzeugen für die Erstellung von Animationen und Interaktionen.
Installation und grundlegende Nutzung
npm install popmotion
import { animate } from 'popmotion';
animate({
from: 0,
to: 100,
onUpdate: (latest) => {
console.log(latest);
}
});
Beste Anwendungsfall
Erstellung von niedrigen-Ebenen, komplexen Interaktionen und hochgradig anpassbarer Animationen.
Vorteile
Funktionale API, flexibel, skalierbar und kleines Paket.
Nachteile
Kann für einfache Anwendungsfälle kompliziert sein.
7. Mo.js
Mo.js ist ein Werkzeugsatz für Bewegungsgrafik auf dem Web. Er hat auf GitHub über 18.3k Sterne und bietet eine Reihe von Werkzeugen für die Erstellung von Animationen an.
Installation und grundlegender Gebrauch
npm install @mojs/core
import { Mojs } from '@mojs/core';
const bouncyCircle = new mojs.Shape({
parent: '#bouncyCircle',
shape: 'circle',
fill: { '#F64040': '#FC46AD' },
radius: { 20: 80 },
duration: 2000,
isYoyo: true,
isShowStart: true,
easing: 'elastic.inout',
repeat: 1
});
bouncyCircle.play();
Beste Anwendungsfall
Die Erstellung komplanter Bewegungsgrafik und Animationen.
Vorteile
Vielseitig, kraftvoll, ideal für Bewegungsgrafik.
Nachteile
Höhere Lernkurve, größerer Paketgröße.
Animationsbibliotheken für spezielle Anwendungsfälle
8. Remotion – Animation Video mit React generieren
Remotion ermöglicht die programmatische Erstellung von Videos mit React. Es ist eine einzigartige Bibliothek mit über 19.6k Sternen auf GitHub, die Entwicklern ermöglicht, die Leistung von React für die Erstellung von Videoinhalten zu nutzen.
Installation und grundlegender Gebrauch
# new project
npx create-video@latest
# install to existing project
npm i --save-exact [email protected] @remotion/[email protected]
export const MyComposition = () => {
return null;
};
import React from 'react';
import {Composition} from 'remotion';
import {MyComposition} from './Composition';
export const RemotionRoot: React.FC = () => {
return (
<>
<Composition
id="Empty"
component={MyComposition}
durationInFrames={60}
fps={30}
width={1280}
height={720}
/>
</>
);
};
import { registerRoot } from 'remotion';
import { RemotionRoot } from './Root';
registerRoot(RemotionRoot);
Bester Anwendungsfall
Programmatische Erstellung von Videos mit React.
Vorteile
Unique Funktionalität, nutzt React-Fähigkeiten, kraftvolle Videoerstellungskapazitäten.
Nachteile
Nischenanwendung, kann für Anfänger kompliziert sein.
9. Vivus – SVG-Zeichnungsanimation
Vivus ist eine leichtgewichtige JavaScript-Bibliothek für die Animation von SVGs. Mit über 15.1k Sternen auf GitHub ist sie eine gute Wahl für die Erstellung von SVG-Animationen.
Installation und grundlegende Verwendung
npm install vivus
import Vivus from 'vivus';
new Vivus(
'my-svg',
{
type: 'delayed',
duration: 200,
animTimingFunction: Vivus.EASE
},
myCallback
);
// svg
<object id='my-svg' type='image/svg+xml' data='link/to/my.svg'></object>;
Bester Anwendungsfall
Erstellung von Zeichenanimationen für SVGs.
Pros
Leichtgewichtig, spezialisiert auf SVGs, einfach zu bedienen.
Nachteile
Beschränkt auf SVGs, nicht für andere Arten von Animationen geeignet.
10. Lottie for Web – After Effects Animationen rendern
Lottie ist eine Bibliothek zum Rendern von Animationen, die in Adobe After Effects erstellt wurden. Mit über 29,9k Sternen auf GitHub ist sie weit verbreitet, um komplexe Animationen zu integrieren.
Installation und grundlegende Verwendung
npm install lottie-web
import lottie from 'lottie-web';
import animationData from './animation.json';
lottie.loadAnimation({
container: document.getElementById('animation'),
renderer: 'svg',
loop: true,
autoplay: true,
animationData: animationData
});
Bester Anwendungsfall
Integration von Animationen, die in After Effects erstellt wurden.
Vorteile
Hochwertige Animationen, lässt sich gut in After Effects integrieren.
Nachteile
Erfordert After Effects für die Erstellung von Animationen, größere Dateien.
11. ScrollReveal
ScrollReveal ist eine JavaScript-Bibliothek, die es einfach macht, Elemente während ihres Eintritts oder Verschwindens aus dem Bildschirmbereich zu animieren. Mit mehr als 22.2k Sternen auf GitHub ist es perfekt für scrollbasierte Animationen geeignet.
Installation und grundlegende Verwendung
npm install scrollreveal
import ScrollReveal from 'scrollreveal';
ScrollReveal().reveal('.box', { delay: 500 });
<h1 class="headline">Widget Inc.</h1>
Beste Anwendungsfall
Hinzufügen von scrollbasierten Reveal-Animationen.
Vorteile
Leicht zu verwenden, leichtgewichtig, großartig für scrollbasierte Animationen
Nachteile
Beschränkt auf scrollbasierte Animationen.
12. ScrollMagic
ScrollMagic ist eine Bibliothek zum Erstellen von scrollbasierten Interaktionen und Animationen. Mit mehr als 14.8k Sternen auf GitHub bietet es eine robuste Methode zur Behandlung von scrollbasierten Animationen.
Installation und grundlegende Verwendung
npm install scrollmagic
import ScrollMagic from 'scrollmagic';
const controller = new ScrollMagic.Controller();
var controller = new ScrollMagic.Controller();
// create a scene
new ScrollMagic.Scene({
duration: 100, // the scene should last for a scroll distance of 100px
offset: 50 // start this scene after scrolling for 50px
})
.setPin('#my-sticky-element') // pins the element for the the scene's duration
.addTo(controller); // assign the scene to the controller
Beste Anwendungsfall
Erstellen komplexer scrollbasierter Interaktionen und Animationen.
Vorteile
Leistungsstark, flexibel, funktioniert gut mit GSAP.
Nachteile
Kann für einfache Animationen kompliziert sein, größeres Paketsize.
13. Typed.js
Typed.js ist eine JavaScript-Bibliothek, die Texttypen, sodass es aussieht, als ob er von einem Menschen getippt wird. Mit über 15.1k Sternen auf GitHub ist es großartig für das Hinzufügen von Tippanimationen.
Installation und grundlegende Nutzung
npm install typed.js
import Typed from 'typed.js';
const typed = new Typed('#element', {
strings: ['<i>First</i> sentence.', '& a second sentence.'],
typeSpeed: 50
});
Besten Anwendungsfall
Erstellen von Tippanimationen für Text.
Vorteile
Leicht zu verwenden, leicht, großartig für Tippeffekte.
Nachteile
Beschränkt auf Tippanimationen, weniger Flexibilität.
Erweiterte Animationsobjekte
14. Three.js – fortschrittliche JavaScript 3D Bibliothek
Three.js ist eine leistungsstarke 3D-Bibliothek für JavaScript, die es Ihnen ermöglicht, komplexe 3D-Animationen und Visualisierungen zu erstellen. Mit über 101k Sternen auf GitHub ist es weit verbreitet für 3D-Webanwendungen.
Installation und grundlegende Nutzung
npm install three
import * as THREE from 'three';
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
Beste Anwendung
Erstellung fortschrittlicher 3D-Animationen und Visualisierungen.
Vorteile
Extrem leistungsstark, großartige Community, unterstützt komplexe 3D-Szenen.
Nachteile
Steiler Lernkurve, größere Paketsize.
15. Theatre.js
Theatre.js ist eine fortschrittliche Animationsbibliothek zur programmatischen Erstellung und Steuerung von Animationen. Mit über 11k Sternen auf GitHub bietet sie einen zeitlinienbasierten Ansatz für Animationen.
Installation und grundlegende Verwendung
# r3f and its dependencies
npm install --save react three @react-three/fiber
# Theatre.js
npm install --save @theatre/[email protected] @theatre/[email protected] @theatre/[email protected]
# Three.js types (when using Typescript)
npm install --save-dev @types/three
import * as THREE from 'three'
import { createRoot } from 'react-dom/client'
import React, { useRef, useState } from 'react'
import { Canvas, useFrame } from '@react-three/fiber'
import { getProject } from '@theatre/core'
// our Theatre.js project sheet, we'll use this later
const demoSheet = getProject('Demo Project').sheet('Demo Sheet')
const App = () => {
return (
<Canvas
camera={{
position: [5, 5, -5],
fov: 75,
}}
>
<ambientLight />
<pointLight position={[10, 10, 10]} />
<mesh>
<boxGeometry args={[1, 1, 1]} />
<meshStandardMaterial color="orange" />
</mesh>
</Canvas>
)
}
createRoot(document.getElementById('root')!).render(<App />)
Bester Anwendungsfall
Erstellen von zeitlinienbasierten Animationen mit feiner Kontrolle.
Pros
Mächtige Timeline-Steuerung, präzise Animationssequenzen.
Nachteile
Neuere Bibliothek, kleinere Community, komplex für Anfänger.
Fazit
Die Wahl der richtigen Animationsbibliothek hängt von den Bedürfnissen und der Komplexität Ihres Projekts ab. Wenn Sie einfache, schnelle Animationen benötigen, sind CSS-basierte Bibliotheken wie Animate.css ideal. Für komplexere Interaktionen und Hochleistungsanforderungen sollten Sie leistungsstarke Bibliotheken wie GSAP oder Three.js in Betracht ziehen.
Jede Bibliothek hat ihre Stärken, also bewerten Sie sie anhand von Faktoren wie Benutzerfreundlichkeit, Community-Support und den von Ihnen benötigten spezifischen Funktionen. Sie können mit diesen Top-Animationsbibliotheken experimentieren, bevor Sie sie in Ihr Projekt implementieren.
Haben Sie andere Bibliotheken, die es wert sind, erwähnt zu werden? zögern Sie nicht, sie in den Kommentaren unten zu teilen! Wenn Sie diesen Beitrag hilfreich fanden, teilen Sie ihn mit Ihren Entwicklerkollegen und entdecken Sie weitere Tutorials auf dieser Website.
Danke. Have a good day!