Penyakit yang dialami setiap pemrogram web: selalu gatal mau mencoba membuat website blog dengan stack & teknologi teranyar, tetapi kosong konten. Tentunya saya juga mengalami hal tersebut, tetapi saya bisa menahan diri dengan fokus saja di kerjaan kantor tanpa melirik-lirik stack yang semakin hari semakin canggih.
Tetapi akhir-akhir ini, setelah melihat sang puan isteri sedang menulis tulisan "blog"-nya hanya di Google Docs dan WordPress gratisan, membuat jiwa pemrogram saya bergelora dan penyakit itu akhirnya kambuh: mau buat sendiri blog dengan stack teranyar. Tetapi bedanya, saya mempunyai tujuan: mau membuatkan website blog untuk sang isteri (yang saya juga akan pakai nantinya).
Pendahuluan
Langkah yang paling umum untuk membuat blog, yang orang sudah terbiasa dengannya:
sewa hosting,
menginstall WordPress,
cari tema yang diinginkan. Tema gratisan atau premium, semua sesuai keinginan kita.
Dari 3 langkah di atas saja, bisa diprediksi pasti akan ada biaya yang harus dikeluarkan per bulannya. Secara acak saya cari di Google, biaya paling murah untuk menyewa hosting sekitar $2 atau Rp30.000,-. "Ah, lumayan juga dengan harga segini bisa dapat martabak jagung favorit saya di kampung", sungguh ini pertama kali yang terlintas dalam benak saya.
Karena hitung-hitungan ini, akhirnya saya memutuskan untuk membuat sendiri website blog dengan harga paling minimal, atau kalau bisa gratis sekalian. Dan bisa memodifikasi tampilan halaman website dengan bebas, tanpa beli-beli tema lagi. Untuk itu saya melakukan beberapa riset, yang sesuai dengan skill saya dalam bidang pemrogram web ini.
Riset
Secara acak (lagi), saya googling apakah stack yang sesuai dengan skill saya sebagai pemrogram web front-end. Sebagai pemrogram yang tidak biasa dengan back-end dan database, akhirnya saya menemukan stack yang sesuai, bernama JAMstack. Teknologi ini sangat sesuai dengan kemampuan saya, karena tidak memerlukan kemampuan back-end dan database yang mumpuni, cukup tahu dasarnya saja.
Pada teknologi JAMstack ini, saya memerlukan 2 hal:
Front-end, untuk menampilkan halaman UI (yang bisa dilihat), dan
CMS, untuk mengatur atau menulis konten, lalu ditampilkan pada front-end.
Untuk front-end sendiri (karena saya bekerja sebagai pemrogram front-end), saya memilih teknologi NuxtJS. Alasannya, karena saya bekerja menggunakan teknologi ini dan menurut saya teknologi ini sangat mudah digunakan jika sudah mengerti konsep dasar front-end itu sendiri.
Untuk meng-hosting web front-end ini, sudah banyak penyedia hosting gratisan seperti Netlify, Heroku, Vercel, dan lain sebagainya. Akhirnya, saya pilih Netlify karena sudah terbiasa dengan ini dan tidak mau ribet pakai hostingan lainnya (karena harus belajar lagi).
Untuk CMS sendiri, saya perlu cerita panjang sedikit:
Rutinitas saya bekerja sama dengan pemrogram back-end: mereka akan menyediakan data, lalu saya yang akan menampilkan data tersebut pada front-end. Tetapi kali ini, saya ingin membuat CMS sendiri tanpa bantuan pemrogram back-end.
Karena saya kurang pandai pada back-end ini, akhirnya saya mencari teknologi yang sesuai dengan kondisi saya. Lagi, rutinitas setiap pemrogram: googling, dan akhirnya saya mendapat 3 CMS yang kira-kira bisa saya pakai untuk proyek membuat website blog ini.
JAMstack CMS
Ada dua kriteria saya dalam memilih CMS:
Gratis, atau biaya paling minimal,
Mudah digunakan untuk pemrogram web front-end
Lalu saya pilih 3 di antara puluhan CMS lainnya, yang kira-kira sesuai dengan kriteria yang saya inginkan.
1. Strapi
Saya mencoba ini karena alasan pertama: gratis. Kesan pertama mencoba Strapi ini, seperti ketemu teman lama, lalu kami ngobrol bernostalgia masa kecil dulu. Dan di akhir percakapan, dia mempromosikan bisnis investasinya. Ah! Sebenarnya dia ini asyik kalau saya mau mengeluarkan sedikit uang untuk berinvestasi. Tetapi memandangkan saya orangnya agak pelit, saya meminta maaf undur diri dulu. "Kapan-kapan ketemu lagi ya, kalau saya sudah ada uang", ujarku pelan.
Kira-kira analoginya seperti itu. Strapi ini gratis, tapi memerlukan hosting untuk performa yang bagus. Minimal $10 per bulan untuk sewa hostingnya (contoh biaya sewa VPS DigitalOcean). Bisa sih pakai hosting yang gratisan, tetapi pasti akan mengorbankan performa website-nya. Undur diri dulu kepada Strapi, dan lanjut dengan pilihan berikutnya.
2. NetlifyCMS
Pilihan kedua ini, rasanya seperti diajar oleh dosen yang baru lulus S3 dari luar negeri. Dia memang pintar, tapi karena kita di level SMA sedangkan bahan ajar yang dia bawakan itu materi S3-nya. Ah! Perlu waktu lama untuk kita memahami level bahan ajar itu. Bisa sih bisa, tapi ya ribet!
Lagi-lagi dikasih analogi. Tapi ya kurang lebih begitu yang saya rasakan setelah mencoba beberapa waktu ngulik NetlifyCMS ini. Banyak setting manual pada kode, ini yang membuat agak ribet dan akhirnya saya ucapkan salam perpisahan dengan Pak Dosen S3 bernama NetlifyCMS ini. Wassalamu'alaikum! Dan lanjut!
3. Contentful
Kesan pertama setelah mencoba CMS Contentful ini, cukup memenuhi 2 kriteria saya di atas tadi: gratis dan tidak ribet. Rasanya seperti, –lagi-lagi analogi– resep makanan yang kita tonton di YouTube, lalu kita coba buat sendiri di rumah. Ternyata hasilnya tidak mengecewakan! Kita yang pernah merasakan resep itu dari restoran, tahu hasilnya tidak sama tetapi rasa yang kita buat tadi tidak jauh berbeda. Hanya perlu sedikit waktu untuk mengulik takaran resepnya supaya hasilnya sama dengan yang dijual di restoran.
Analogi terakhir tadi menyimpulkan bahwa, Contentful ini lumayan cocok saya gunakan karena beberapa alasan:
ada mode gratisan,
tidak ribet,
lumayan bisa dimodifikasi sesuai keinginan.
Akhirnya telah diputuskan, selamat datang Contentful! Mari kita bekerja sama!
Proses eksekusi (bersambung)
InsyaAllah lain kali saya akan menjelaskan proses teknis pembuatan website blog ini. Hasil akhirnya, website yang sedang kamu lihat ini: sejukata.com. Dengan biaya sejauh ini : Rp0,- (tidak termasuk sewa domain).
Front-end – NuxtJS & Hosting di Netlify (GRATIS)
CMS – Contentful (free plan) (GRATIS)
Website blog ini –sejauh ini– sepenuhnya gratis, tanpa biaya sepeser pun kecuali biaya sewa domain.
Kalau tanpa domain, kita bisa menggunakan web yang di-hosting Netlify (sejukata.netlify.app).
Kesimpulan
Saya memakai teknologi JAMstack, dengan NuxtJS sebagai front-end, Netlify sebagai penyedia hosting, dan Contentful (free plan) sebagai CMS.
Website blog yang saya buat ini bertujuan untuk website blog sederhana saja, tetapi bisa dimodifikasi secara bebas tanpa beli tema premium (yang tidak bisa dilakukan oleh penyedia blog gratisan), dan tanpa maintenance atau perawatan canggih yang biasa dilakukan oleh ahli IT.
Gratis dan mudah dipakai, dua kata kunci kriteria utama saya dalam membuat website ini.
Sementara itu saja, insyaAllah lain kali akan saya lanjutkan, menjelaskan tentang proses eksekusi pembuatan website sejukata.com ini. Terima kasih!