Articles

Migrasi dari Next.js ke Remix: Catatan Pribadi dan Perbedaan yang Terasa

3 min read

Mon, 19 May 2025

Thumbnail

Beberapa waktu lalu, saya memutuskan untuk tidak lagi menggunakan Next.js dalam proyek-proyek saya ke depan. Keputusan ini bukan dilatarbelakangi oleh masalah teknis, performa, atau pengalaman pengembangan yang buruk. Justru sebaliknya, selama menggunakan Next.js, saya cukup menikmati kematangannya sebagai framework, dokumentasi yang luas, serta ekosistem yang mendukung. Namun keputusan ini lebih didasarkan pada pertimbangan pribadi, khususnya menyangkut nilai dan sikap. 

Saya melihat postingan CEO Vercel di platform X yang secara terbuka memperlihatkan dukungannya terhadap Israel dalam konflik yang berlangsung saat ini. Bagi sebagian orang, hal ini mungkin bisa dipisahkan dari urusan teknologi, tapi bagi saya pribadi, ada batas yang tidak bisa saya anggap netral. Saya tidak ingin membangun proyek yang bergantung pada platform yang didukung oleh orang-orang yang nilai dan sikap politiknya bertentangan dengan hati nurani saya. Saya sadar, keputusan seperti ini tidak akan mengubah dunia, tetapi setidaknya saya bisa menjaga konsistensi dalam hal kecil yang bisa saya kendalikan. Setelah mempertimbangkan beberapa opsi alternatif, saya memutuskan untuk mencoba Remix. 

Framework ini tidak serta-merta menggantikan semua kemudahan yang saya dapatkan dari Next.js, tapi ada banyak hal menarik yang saya temukan selama proses migrasi. Hal pertama yang terasa berbeda adalah pendekatan Remix terhadap data fetching. Remix memaksa saya untuk lebih sadar terhadap bagaimana data bekerja di web. Konsep loader dan action membuat saya harus memahami kapan data dibutuhkan, dari mana ia diambil, dan bagaimana ia dikirimkan kembali. Semua itu dilakukan melalui prinsip-prinsip HTTP yang lebih murni. Jika sebelumnya saya terbiasa mengatur API route tersendiri di Next.js untuk hampir semua hal, Remix justru membawa saya untuk lebih menghargai permintaan dan tanggapan HTTP secara langsung. 

Salah satu hal yang cukup menyenangkan dalam Remix adalah bagaimana form bekerja. Remix membuat saya kembali ke pendekatan klasik, di mana formulir dikirim ke server tanpa harus membuat permintaan JavaScript khusus. Proses seperti ini terasa sederhana, jelas, dan langsung. Dalam banyak kasus, saya tidak lagi harus menulis kode JavaScript tambahan hanya untuk mengirim form atau menangani validasi awal. Hal-hal seperti ini yang awalnya terasa “ketinggalan zaman” justru menjadi menyegarkan, karena saya bisa fokus pada alur kerja dan pengalaman pengguna tanpa terganggu oleh lapisan-lapisan tambahan yang kadang tidak perlu

Namun tentu saja, tidak semua hal di Remix terasa lebih baik. Beberapa proses yang sebelumnya otomatis di Next.js kini harus ditangani manual. Misalnya dalam pengelolaan metadata halaman, optimasi gambar, atau pengaturan route dinamis yang lebih kompleks. Di Remix, hal-hal seperti itu membutuhkan pemahaman tambahan dan waktu lebih untuk diimplementasikan dengan benar. Selain itu, dokumentasi Remix memang belum setebal dan seberagam dokumentasi Next.js. Saat menghadapi kasus-kasus yang tidak umum, saya kadang harus benar-benar membaca kode sumber atau bereksperimen sendiri untuk menemukan pendekatan yang tepat. 

Komunitas Remix juga belum sebesar komunitas Next.js. Ini bukan sesuatu yang sepenuhnya negatif, tapi cukup berpengaruh ketika saya butuh rujukan cepat atau ingin melihat praktik terbaik yang sudah umum digunakan. Di Next.js, hampir semua masalah umum sudah pernah dibahas di forum, GitHub issues, atau Stack Overflow. Sementara di Remix, saya lebih sering menemukan ruang kosong yang harus diisi dengan uji coba sendiri. 

Meski begitu, ada satu hal yang terasa kuat di Remix: framework ini punya pendirian. Ia tidak mencoba menjadi segalanya untuk semua orang. Remix punya filosofi yang cukup jelas — membangun aplikasi web yang menghormati browser, memanfaatkan standar web, dan memperlakukan server bukan sekadar backend, tapi bagian utama dari alur kerja. Bagi saya yang cenderung mengutamakan “rasa” saat menulis kode, pendekatan ini memberi ruang untuk kembali merasakan mengapa saya membangun sesuatu, bukan sekadar bagaimana saya membangunnya. 

Migrasi ini tidak membuat saya menjadi orang yang anti terhadap Next.js, apalagi terhadap ekosistem Vercel secara teknis. Tapi saya merasa lebih tenang dan lebih sejajar dengan pilihan saya sendiri. Remix mungkin belum sepopuler Next.js, tapi ia menawarkan cara pandang yang menarik, sekaligus mengingatkan saya bahwa membangun web bukan hanya soal performa atau SEO, tapi juga soal pilihan-pilihan kecil yang selaras dengan prinsip pribadi.

Next.js

Remix

Framework

Migrate

What is your thought?

Other Responses

Keputusan yang luar biasa berani untuk sebuah perubahan, yang secara sadar tidak mudah tapi demi aqidah kita harus kuat prinsip...semoga sllu dimudahkan Allah untuk semua urusan di dunia untuk tujuan akhirat... Aamiin

Other Articles