fbpx

Order Now - Dedicated Server High Performance

Technology

Apa itu Jamstack? Bagaimana Cara Kerja dan Kelebihannya?

Taufik Nurhidayat

Jamstack merupakan arsitektur pengembangan web modern dengan tiga komponen yaitu Javascript, API, dan Markup (JAM). Jika kamu seorang pengembang web maka tidak akan asing dengan ketiga hal tersebut.

Jamstack bukanlah teknologi baru melainkan arsitektur dari bagaimana sebuah konten pada web ditampilkan. Untuk lebih jelasnya mari kita bahas.

Apa itu Jamstack?

Seperti yang kami sebutkan pada awal artikel. Jamstack merupakan arsitektur pengembangan web modern dengan tiga komponen yaitu Javascript, API, dan Markup disingkat JAM.

Alih-alih dirender dari server seperti cms tradisional, Jamstack memuat frontend secara statis. Artinya seluruh halaman (html, css, dan javascript) telah dibuat dengan optimal sehingga memungkinkan untuk di muat di berbagai CDN. Hal tersebut menjadikan pemuatan halaman menjadi sangat cepat, aman dan mudah diskalakan.

Bagaimana Arsitektur Jamstack Bekerja

Mari kita lihat bagaimana cara sebuah cms tradisional seperti wordpress merender konten agar dapat ditampilkan. Setiap seseorang pengguna mengirim permintaan ke sebuah website, maka cms wordpress akan memuat permintaan dan memproses permintaan tersebut di sisi server lalu dikirim ke pengguna dan browser akan menampilkan konten.

Sedangkan Jamstack berbeda, setiap halaman telah dibuat sebelum website tersebut berjalan atau istilahnya pre-rendering. Semua assets dan file akan di optimalkan selama proses pre-rendering ini. Setiap permintaan dari pengguna tidak perlu diproses oleh server, server hanya menyediakan file statis yang telah di sediakan pada saat pre-rendering.

Semua file hasil pre-rendering tersebut dapat di muat oleh CDN, sehingga memungkinkan pengguna memuat halaman lebih cepat. Pre-rendering tidak akan dilakukan kecuali pengembang melakukan perubahan atau pengembang melakukan pre-rendering ulang, selama proses pre-rendering website akan menampilkan halaman hasil pre-rendering sebelumnya. Jika terjadi error selama proses tersebut, maka halaman yang ditampilkan adalah hasil pre-rendering akan gagal dan tidak dilanjutkan.

Lalu bagaimana jamstack bisa menampilkan konten yang bersifat dinamis? Disinilah API bekerja, dengan api maka kita dapat menampilkan konten dinamis yang dimuat dari backend terpisah. Backend bisa saja berupa headless cms atau backend lainya seperti firebase yang memungkinkan pemanggilan API.

Keuntungan Menggunakan Jamstack

Dimuat dengan cepat

Jamstack dapat memuat sebuah halaman web lebih cepat karena semua file bersifat statis dan bisa disimpan di CDN, sehingga proses kompleks saat pemuatan web hanya berjalan di sisi client.

Website Lebih Aman

Karena backend dan frontend terpisah, setiap kelemahan keamanan situs web yang dieksploitasi di sisi frontend bukan berarti kerentanan sisi backend. Semua proses pemanggilan ke database dilakukan oleh API yang sebagian besar hanya dapat dibaca saja.

Biaya yang lebih murah

Hosting static sites memerlukan biaya yang lebih rendah dibanding dengan hosting biasa, bahkan gratis.

Skalabilitas

File yang disimpan di layanan CDN, maka memungkinkan skalabilitas yang tidak terbatas.

Kekurangan Menggunakan Jamstack

Perubahan Berarti Pengkodean

Tidak ada cara untuk melakukan perubahan pada website selain melakukan koding. Ketika kamu ingin menyesuaikan tampilan, maka tidak bisa dengan mengakses edit tema seperti cms.

Fitur Dinamis Memerlukan Sumber Daya Yang Lebih Besar

Akan baik-baik saja jika hanya menampilkan gambar dan konten, namun akan sedikit bermasalah jika memerlukan fungsi dinamis yang lebih kompleks. Bukan berarti tidak mungkin, hanya saja akan memerlukan sumber daya yang lebih besar.

Alat Yang digunakan Untuk Jamstack

Banyak sekali alat diluar sana yang bisa digunakan untuk membuat Jamstack, berikut beberapa contoh alat yang digunakan untuk mengembangkan web Jamstack.

Pembuat Situs Statis

  1. GatsbyJS
  2. Eleventy
  3. Hugo
  4. Hexo

Serving Aplikasi

  1. Github Pages
  2. Netlify
  3. AWS

Menjadikan Jamstack Dinamis

  1. Auth0 – Alat autentikasi
  2. Cloudinary – Alat manajemen media
  3. Google Analytics – Alat Analisis Lalu Lintas Halaman
  4. Stripe – Manajemen pembayaran

Akhir Kata

Apakah Jamstack layak untuk digunakan? Untuk beberapa website seperti Blog dan web dengan fitur yang sederhana kami rasa ini cocok. Sedangkan web dengan fitur kompleks, kami belum dapat menyimpulkan karena jamstack merupakan arsitektur web yang masih baru. Kita perlu melihat perubahanya di masa depan.

Baca Juga