11 poin oleh ragingwind 2024-10-22 | 5 komentar | Bagikan ke WhatsApp

Versi resmi Next.js 15 telah dirilis bertepatan dengan konferensi 2024. Berikut ini tidak mencakup perubahan yang sudah dijelaskan pada Next.js 15 RC 2 sebelumnya. Jika ingin mengetahui perubahan-perubahannya, silakan baca itu terlebih dahulu.

  • Caching Semantics (Breaking): Untuk perilaku berikut, caching tidak lagi menjadi default. Alasan perubahan ini adalah karena dapat menimbulkan masalah saat berinteraksi dengan Partial Prerendering(PPR) atau library pihak ketiga, sehingga pendekatan cache default ditinjau ulang. Sebelumnya force-cache adalah nilai default, tetapi kini diubah menjadi no-store agar secara bawaan tidak di-cache, sehingga memberikan performa dan data yang lebih dapat diprediksi.

    • Permintaan fetch kini secara default tidak di-cache, dengan no-store sebagai nilai bawaan. Jika diperlukan, Anda dapat mengatur caching dengan opsi force-cache.
    • GET Route Handlers juga tidak di-cache secara default. Anda dapat menggunakan opsi force-static untuk mengaktifkan caching.
    • Client Router Cache mencerminkan data terbaru saat berpindah halaman dan secara default tidak di-cache. Untuk mengembalikan perilaku sebelumnya, Anda dapat mengatur opsi staleTimes.
  • React 19 Support: Next.js 15 telah diperbarui agar sesuai dengan React 19, dan tetap menjaga kompatibilitas dengan React 18 pada Pages Router. App Router menggunakan React 19 RC, dan dengan mencerminkan masukan komunitas, proyek yang menggunakan React 18 juga dapat ditingkatkan ke React 19. Selain itu, React Compiler diperkenalkan untuk memungkinkan optimasi otomatis dan mengurangi kebutuhan memoization manual. Perubahan ini dilakukan sebagai persiapan untuk rilis resmi React 19 mendatang.

    • React Compiler (Experimental): React Compiler adalah compiler eksperimental yang dibuat oleh tim React di Meta, yang memahami makna JavaScript dan aturan React untuk mengoptimalkan kode secara otomatis. Dengan ini, kebutuhan developer untuk melakukan memoization manual melalui API seperti useMemo dan useCallback dapat berkurang. Fitur ini didukung di Next.js 15 dan saat ini hanya tersedia sebagai plugin Babel, sehingga waktu build bisa menjadi lebih lambat.
    • Hydration Error Improvements: Next.js 15 lebih lanjut mengembangkan pesan error yang telah ditingkatkan pada versi sebelumnya serta cara penanganan hydration error. Kini ketika hydration error terjadi, source code dari error tersebut beserta saran cara memperbaikinya akan ditampilkan bersama. Ini membantu developer lebih mudah memahami dan memperbaiki error.
  • Turbopack Dev: Turbopack kini telah stabil, dan kecepatannya yang tinggi akan meningkatkan pengalaman pengembangan Anda. Startup server lokal meningkat sekitar 76%, Fast Refresh 96%, dan kompilasi route pertama tanpa cache meningkat sekitar 45%.

  • unstable_after API (Experimental): unstable_after adalah API eksperimental yang diperkenalkan di Next.js 15, yang memungkinkan penanganan tugas sekunder seperti logging atau analitik setelah respons ke pengguna dikirimkan. Karena fungsi serverless berhenti berjalan segera setelah respons selesai, masalah ini dapat diatasi dengan menggunakan after() untuk menunda eksekusi tugas hingga setelah respons selesai. Ini dapat digunakan untuk menyinkronkan proses seperti loading dan data statistik dengan sistem eksternal.

5 komentar

 
vipeen 2024-10-23

Untuk proyek baru, saya pilih Vue 3 atau SvelteKit.

 
zillionstar 2024-10-22

React yang didukung Next15 mulai dari 19, tapi React 19 sendiri masih belum lepas dari status RC.

 
kbumsik 2024-10-23

Seperti yang disampaikan orang lain, masih ada isu terkait perubahan fungsi jadi untuk saat ini memang masih RC, tetapi selain bagian itu tampaknya bisa dianggap stable.

 
[Komentar ini disembunyikan.]
 
ragingwind 2024-10-22

Tweet tanya jawab maintainer terkait https://x.com/timneutkens/status/1848464958830612729