Benefit dari static site generator

Teknis Mei 30, 2020

Website yang berbasiskan CMS biasanya menggunakan kontennya tersimpan dalam sebuah database dan kemudian ditampilkan melalui viewnya dapat berupa template engine atau sejenisnya sehingga user mendapatkan hasil berupa HTML pada browser. Yang berarti setiap halaman disusun dari kumpulan template dan konten pada setiap permintaannya ke server.

Pada dasarnya itu adalah cara kerja situs web dinamis, berbeda dengan website statis yang merupakan kumpulan dari dokumen HTML yang tersimpan dalam sebuah file sytem yang kemudian dijalankan pada webserver, secara konsep memang sama yang ditampilkan ke user hanyalah sebuah tampilan HTML.

Jadi dimana perbedaan spesifiknya?

Konten, yang membedakan web dinamis dan statis adalah dari segi konten, web dinamis dapat memanipulasi konten secara interaktif yang artinya pengguna dapat menambah, memodifikasi dan menghapusnya secara langsung. Di sini merupakan masalah web statis, ketika si pemilik website ingin memperbarui konten yang di dalam webnya akan kebingungan, yakali tiap nambah konten ngedit html terus.

Tentang CMS

CMS (Content Management System) sebagai solusi untuk membuat situs dinamis dengan fokus mengelola konten, saat ini yang seringkali dipakai seperti WordPress dan Drupal. Misal, wordpress dibangun dengan kumpulan template kemudian data tersimpan dalam database mysql dan web server menggunakan nginx.

Bagaimana jika sebuah web statis berfungsi selayaknya cms dan memiliki konten dinamis ?

Static site generator

Solusinya ya SSG (Static Site Generator), bisa dibilang situs statis tapi memiliki fitur CMS itu sendiri, dimana pemilik situs dapat memanipulasi kontennya dalam situs statis. Berbeda dengan wordpress yang membutuhkan database semacam mysql di SSG penyimpanan konten memanfaatkan flat file seperti Markdown(.md) atau data dari sumber lain seperti REST API, JSON dsb.

Contoh di gatsbyjs :

https://www.gatsbyjs.org/

Itu merupakan contoh proses build pada situs web statis, banyak jenis selain gatsbyjs seperti hugo, hexo dan masih banyak lagi, cek aja disini. Setelah proses build maka menghasilkan situs statis dan mendeploynya ke web server.

Jadi, apa benefit pakai SSG ?

Peforma, dari segi peforma SSG akan unggul di kecepatannya karena hanya menjalankan file statis dan tidak ada proses serve-side.

Murah, cocok untuk rang miskin kek aku, karena server yang digunakan hanya untuk menyimpan file statis dan tidak ada yang kompleks. Bisa juga memanfaatkan static web host seperti surge.sh, vercel, netlify dll.

DX(Developer Experience), mudah untuk dikembangkan oleh developer dan framework SSG banyak ragamnya, apalagi netlify udah bikin cms nya.

Scale, memudahkan proses scale dapat ditempatkan dibanyak tempat seperti CDN.

Keamanan, karena ini halaman statis maka meminimalisir eksploitasi dan mengurangi kerentanan terhadap web server.

Bisa mencoba tutorial di tautan bawah :

Gatsby - https://www.gatsbyjs.org/tutorial/

Hugo - https://gohugo.io/getting-started/quick-start/

Kekurangan dari SSG

Setiap kelebihan yang dipunya pasti memiliki kekurangan, ya karena ini buatan manusia, beberapa kekurangan ketika memakai SSG antara lain :

Tidak ada admin panel, ketika memliliki author yang banyak kesulitan memanajemen dikarenakan ssg tidak memiliki manajemen user seperti wordpress dan joomla. Tapi hal ini terjawab oleh netlifycms wkwk

Konfigurasi, konfigurasi tidak seramah wordpress, joomla melainkan hardcode pada sistem serta ini dapat memakan waktu, jadi hanya sebatas developer yang dapat mengoprek konfigurasinya.

Situs yang kompleks, tidak cocok untuk situs yang memiliki kompleksitas tinggi, dan pada CMS pun tidak memiliki real time update dikarenakan situs SSG harus melakukan kompilasi ke halaman statis dan proses deployment.

Kesimpulan

Static site generator merupakan solusi untuk membangun situs web dengan memfokuskan ke konten, peforma, hemat urusan pengelolaan server memiliki DX yang bagus serta mengurangi isu keamanaan, Tetapi tidak cocok ketika situs memiliki kompleksitas tinggi dan tidak memiliki real time update dikarenakan situs SSG harus melakukan kompilasi ke halaman statis dan proses deployment.

Flatburger

Warga Gotham

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.