Optimasi Gambar di Next.js dengan Format Modern (AVIF & WebP)


Optimasi gambar merupakan langkah penting dalam pengembangan aplikasi web modern untuk meningkatkan performa, mengurangi waktu loading, dan memberikan pengalaman pengguna yang lebih baik. Next.js menyediakan fitur bawaan untuk menangani optimasi gambar, termasuk dukungan format gambar modern seperti AVIF dan WebP.
Mengapa Format AVIF dan WebP?
AVIF: Format gambar dengan kompresi lebih tinggi dibanding WebP dan JPEG, mendukung transparansi, serta menawarkan kualitas gambar tinggi dengan ukuran file kecil.
WebP: Format yang lebih umum digunakan, mendukung transparansi dan animasi, dengan efisiensi kompresi lebih baik daripada JPEG dan PNG.
Dengan menggunakan kedua format ini, aplikasi Anda dapat mengurangi ukuran file gambar hingga 50%, sehingga mempercepat waktu muat halaman.
Mengaktifkan Format AVIF dan WebP di Next.js
Untuk mengoptimalkan gambar dengan format modern, Anda dapat menyesuaikan konfigurasi di file next.config.js
sebagai berikut:
Konfigurasi next.config.js
module.exports = {
images: {
formats: ['image/avif', 'image/webp'], // Mengaktifkan AVIF dan WebP
},
};
Dengan konfigurasi ini, Next.js akan secara otomatis menyajikan gambar dalam format AVIF atau WebP tergantung pada dukungan browser pengguna.
Menggunakan next/image
untuk Gambar yang Dioptimalkan
Komponen Image
dari next/image
akan secara otomatis menangani konversi format gambar. Berikut contoh penggunaannya:
Contoh Implementasi
import Image from 'next/image';
const OptimizedImage = () => (
<div>
<h1>Optimasi Gambar dengan AVIF & WebP</h1>
<Image
src="/example.jpg" // Gambar asli dapat berupa JPEG atau PNG
alt="Contoh gambar dioptimalkan"
width={800}
height={600}
/>
</div>
);
export default OptimizedImage;
Bagaimana Cara Kerjanya?
Gambar asli (misalnya, JPEG atau PNG) akan dikonversi ke format AVIF atau WebP secara otomatis.
Jika browser pengguna tidak mendukung AVIF, maka WebP akan digunakan. Jika keduanya tidak didukung, format asli gambar akan digunakan.
Keuntungan Penggunaan
Pengurangan Ukuran File: Format AVIF dan WebP secara signifikan mengurangi ukuran file gambar dibanding format tradisional.
Peningkatan Performa: Waktu muat halaman menjadi lebih cepat, yang juga dapat meningkatkan skor SEO dan pengalaman pengguna.
Responsif:
next/image
mendukung berbagai ukuran gambar, memuat gambar berdasarkan ukuran viewport perangkat.Kompatibilitas Otomatis: Tidak perlu khawatir tentang kompatibilitas browser karena Next.js menangani fallback secara otomatis.
Tips Tambahan untuk Optimasi Gambar di Next.js
Gunakan Placeholder Blur: Untuk meningkatkan pengalaman pengguna saat gambar dimuat.
<Image src="/example.jpg" alt="Gambar dengan blur placeholder" width={800} height={600} placeholder="blur" />
Tentukan Ukuran Gambar: Hindari memuat gambar lebih besar dari yang diperlukan dengan menentukan dimensi gambar secara spesifik.
Kesimpulan
Dengan mengaktifkan format AVIF dan WebP, Next.js membantu Anda menyajikan gambar dengan kualitas tinggi dan ukuran file kecil secara otomatis. Kombinasi ini tidak hanya meningkatkan performa aplikasi web Anda tetapi juga memberikan pengalaman pengguna yang lebih mulus.
Cobalah konfigurasi ini di proyek Anda untuk memaksimalkan manfaatnya! ๐
Jika Anda membutuhkan bantuan lebih lanjut atau memiliki pertanyaan, silakan tinggalkan komentar! ๐
Subscribe to my newsletter
Read articles from Ariska Hidayat directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Ariska Hidayat
Ariska Hidayat
I am an enthusiastic researcher and developer with a passion for using technology to innovate in business and education.