Advertisement

CSS Animation vs Framer Motion - ReactJS

 

1. Animasi di Web: Pilih CSS atau Framer Motion?

Animasi itu bikin UI jadi lebih hidup dan interaktif. Tapi, kalau pakai React, kita harus pilih metode yang paling efektif. Dua pilihan paling populer adalah CSS Animation dan Framer Motion. Jadi, mana yang lebih baik? Yuk, kita bahas!

2. CSS Animation: Ringan tapi Terbatas

CSS Animation adalah metode animasi langsung di CSS tanpa perlu library tambahan. Ini cocok buat animasi simpel seperti fade-in, slide, atau hover effect.

Contoh CSS Animation:

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.box {
  animation: fadeIn 1s ease-in-out;
}

Lalu, kita pakai di React:

<div className="box">Halo, Dunia!</div>

Kelebihan CSS Animation:

  • Ringan & Cepat: Nggak butuh library tambahan.
  • Mudah Digunakan: Bisa langsung dipakai di file CSS.
  • Performanya Bagus: Didukung oleh browser langsung dengan optimasi GPU.

Kekurangan CSS Animation:

  • Kurang Interaktif: Sulit menangani animasi berdasarkan state.
  • Kompleks untuk Animasi Rumit: Jika butuh banyak step, kode CSS bisa berantakan.
  • Tidak Dinamis: Sulit mengubah animasi berdasarkan logika React.

3. Framer Motion: Fleksibel & Dinamis

Framer Motion adalah library animasi khusus untuk React yang lebih interaktif dan dinamis dibanding CSS Animation.

Contoh Animasi dengan Framer Motion:

npm install framer-motion

Lalu, di dalam React:

import { motion } from "framer-motion";

const Box = () => {
  return (
    <motion.div
      initial={{ opacity: 0 }}
      animate={{ opacity: 1 }}
      transition={{ duration: 1 }}
    >
      Halo, Dunia!
    </motion.div>
  );
};

Kelebihan Framer Motion:

  • Reaktif & Dinamis: Bisa mengikuti state React.
  • Kode Lebih Bersih: Langsung ditulis di dalam komponen.
  • Fitur Lanjutan: Bisa bikin animasi kompleks seperti drag, gestures, dan transitions.

Kekurangan Framer Motion:

  • Butuh Library Tambahan: Harus install framer-motion.
  • Sedikit Lebih Berat: Dibanding CSS Animation, performanya bisa sedikit lebih lambat jika tidak dioptimasi.

4. Jadi, Mana yang Harus Dipilih?

Fitur CSS Animation Framer Motion
Performa  Cepat  Sedikit lebih berat
Kemudahan  Mudah  Perlu belajar
Interaktivitas  Terbatas  Lebih fleksibel
Dinamis  Sulit diubah lewat state  Bisa berubah dengan state
Kompleksitas  Sulit untuk animasi kompleks  Mudah untuk animasi canggih

Kesimpulan:

  • Kalau cuma butuh animasi simpel, gunakan CSS Animation.
  • Kalau butuh animasi interaktif & dinamis, gunakan Framer Motion.

Jadi, pilih yang sesuai kebutuhan proyekmu. Kalau mau UI yang interaktif dan responsif, Framer Motion bisa jadi pilihan terbaik! 

 

Post a Comment

0 Comments