07 October 2023

Belajar Next.js, Sebuah Pengalaman yang Euh Aing mah

Learn
Belajar Next.js

Andaikan waktu bisa diputar ulang, ingin sekali lebih dulu mengenal Next.js sebelum mengenal Hugo . Sayangnya itu tidak mungkin yang membuat saya semakin handeueul.

Jujur, saya memang punya love-hate relationship dengan JavaScript dan membangun website yang SELURUH kodenya menggunakan JS bukan sesuatu yang ingin saya lakukan. Apalagi jauh sebelumnya saya sudah pernah mencoba React dan menyerah saat instalasi. Tetapi pendapat saya berubah ketika mengenal Next.js.

Meski Next.js menyebut dirinya sebagai “React framework”, kita memang diharapkan paham React terlebih dahulu, tetapi kalau belum paham pun masih bisa, kok.


Pengalaman Belajar Next.js

Pertama kali belajar pada bulan Desember 2022 dari channel-nya Mas Prawito Hudoro dan sempat slicing satu landing page. Ada beberapa yang lain juga tapi belum di-deploy. Sempat juga ingin membuat blog menggunakan Next.js, tetapi karena saat itu sampai beberapa bulan lalu hidup saya kacau balau, niat tersebut ditunda.

Easybank landing page, slicing menggunakan Next.js
Easybank landing page, slicing menggunakan Next.js

Ada beberapa hal yang saya jadikan catatan ketika belajar Next.js untuk pertama kali.

Hal yang Saya Sukai

  1. Cepat

    Untuk kecepatan, teknologi server-side rendering memang tak perlu diragukan lagi. Nilai page speed-nya sempurna. IJO, cuy! Kalau urusan page speed, Hugo juga memang tak kalah sat-setnya, tapi tetap saja ini adalah sebuah nilai plus.

  2. Beginner Friendly

    SSR atau server-side rendering memang teknologi yang cukup baru saya pelajari. Tetapi, saya akui Next.js cukup beginner friendly. Kalau Anda sudah bisa HTML, CSS, JS, dan paham konsep routing serta templating, you’re ready to go.

  3. Gerbang Menuju React

    React disebut-sebut sebagai JavaScript framework yang akan happening di masa depan. Seperti kata Pak Dhika dalam video tutorialnya, dokumentasi React sendiri cukup membingungkan. Belajar Next.js akan membuat kita lebih mudah belajar React ceunah.

  4. Routing dan Layouting

    Prinsip routing dan layouting-nya sama dengan Hugo dan WordPress alias standar sehingga saya tidak mengalami kesulitan berarti. Kalau tidak salah ingat, sama juga dengan Laravel meski Laravel jauh lebih kompleks.

  5. Bisa Digunakan untuk E-Commerce

    Sempat kaget juga ketika tahu bahwa Next.js bisa digunakan untuk membuat e-commerce atau online shop. Ini hal yang tidak bisa dilakukan di Hugo karena Hugo murni static site alias tanpa database.

  6. Vercel

    Next.js adalah produknya Vercel sehingga untuk urusan deployment mah cingcai. Kita juga bisa deploy di GitHub pages.

  7. Bisa untuk Blog

    Nah ini. Kita memang perlu platform lain untuk ngeblog selain Blogspot dan WordPress. IMO, kemunculan blogging platform lain merupakan sebuah angin segar agar tidak ada monopoli dan hegemoni pasar.

  8. SEMUANYA JAVASCRIPT!

    “Tak kenal maka tak sayang” kata pepatah. Dulu, circa tahun 2010 ketika saya baru belajar ngeblog dan sedang suka ngotak-ngatik template blog hingga sekitar tahun 2017, saya berpikir bahwa JavaScript adalah pamaeh untuk blog saya. Membuat blog saya lambat dan banyak kode yang tidak perlu.

    Ya, itu karena saya belum tahu dan belum belajar JavaScript saja. Setelah kenal dan belajar, saya justru menganggap bahasa pemrograman yang satu ini adalah tongkat ajaib yang bisa membuat sesuatu yang tidak mungkin menjadi mungkin. Kalau HTML, CSS, atau bahasa lain tidak sanggup, JavaScript-lah solusinya.

    Dan membuat sebuah website yang pondasinya JavaScript merupakan sesuatu yang mind blowing bagi saya.

  9. Instalasi Cukup Mudah

    Dibandingkan React, proses instalasi Next.js cukup mudah. Dokumentasinya pun cukup mudah dimengerti. Untuk urusan dokumentasi, Hugo agak tertinggal, sih.


Hal yang Tidak Saya Sukai

  1. Tailwind

    Next.js dilengkapi dengan Tailwind CSS by default. Karena saya tidak suka (mungkin belum) dengan Tailwind dan lebih suka menggunakan SCSS , sempet misuh-misuh juga tuh saat setup Sass.

  2. HTML Language

    Entah kenapa halaman di Next.js di-render dengan tag <html> ... </html> saja alias tanpa atribut language. Padahal, kan seharusnya <html lang="id-in">. Sialnya, kita tidak punya akses terhadap tag tersebut. Saya lupa bagaimana cara mengakalinya waktu itu, yang jelas cukup ngesang.

  3. TypeScript

    Next.js menggunakan TypeScript dan saya memang belum familiar hingga sempat kesulitan.

  4. Database/Back-end

    Poin ini murni karena saya BELUM TAHU. Saya masih belum ada bayangan tentang database atau back end-nya. Back end-nya menggunakan bahasa apa? Disimpan di server mana saat sudah di-deploy? Apakah bisa di lokal atau harus di hosting?

    Untuk e-commerce sendiri Next.js bekerja sama dengan Shopify dan menggunakan Storefront GraphQL API.

  5. CMS Berbayar

    Saya sendiri tidak terlalu suka menggunakan CMS untuk web berbasis SSR atau SSG karena lebih suka menggunakan code-editor langsung . Tetapi, akan lain cerita kalau membuat web untuk klien, misalnya. Sayangnya, CMS yang saya temukan semuanya berbayar.

    Bukan, bukan karena mental gratisan. Tapi sebagai web developer, saya juga harus memperhitungkan biaya-biaya terkait development. Nah, kalau Anda punya rekomendasi CMS untuk Next.js yang gratisan aja dulu, bisa banget share di kolom komentar.


Kesimpulannya, belajar Next.js cukup menyenangkan dan tidak membuat saya kapok. Dengan segala kelebihan dan kekurangannya, saya sempat merasa “Euh, aing mah, naha karek nyaho ayeuna?” Itu juga yang membuat saya akan terus mempelajarinya.

Apakah kemudian web ini akan migrasi dari Hugo dan pindah lagi ke lain hati? Hmmm … sepertinya belum. Web ini sempat gagal migrasi ke Laravel karena saya sendiri belum siap baik mental maupun finansial, padahal prosesnya sudah 40%. Rasanya konyol kalau saya mengulangi kesalahan yang sama. Jadi, saya masih tetap menggunakan Hugo sampai entah kapan. (eL)

S H A R E:

Langit Amaravati

Langit Amaravati

Web developer, graphic designer, techno blogger.

Aktivis ngoding barbar yang punya love-hate relationship dengan JavaScript. Hobi mendengarkan lagu dangdut koplo dan lagu campursari. Jika tidak sedang ngoding dan melayout buku, biasanya Langit melukis, belajar bahasa pemrograman baru, atau meracau di Twitter.

Komentar