Revolusi Web Modern
Published: 2021-07-05 23:57:42

— Pembahasan oleh R.Bintang Bagus Putra Angkasa

![Jam Stack](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/24m90xxpbrke13t27phj.png)

Jadi dahulu kala saat awal-awal era website dan internet dimulai, konsep web tak lain dan tak bukan adalah sebuah paket dokumen yang dikirim ke user untuk kemudian ditampilkan oleh browser. Sederhana, web itu hanyalah sebuah file html dengan javascript untuk interaksinya dan css untuk menerapkan stylenya dan memang itulah dasar dari web…

Nah kemudian, kita mulai memikirkan bagaimana sebuah website ini bisa lebih dinamis dengan cara diolah terlebih dahulu di sisi server. Dinamis di sini berarti sebuah laman itu tak selalu menampilnya dokumen yang sama persis alias statis. Entah itu berdasarkan autentikasi (sistem login), atau berdasarkan perubahan data dari database dan mungkin pula karena adanya ketergantungan api dari pihak ketiga.

Disinilah era PHP dan berbagai bahasa preprocessor untuk web dimulai. Muncullah pula framework ternama seperti Laravel yang membawakan paradigma model MVC yang merupakan kependekan dari Model — View — Controller. Artinya, setiap ada request masuk ke server, server mengeksekusi sebuah Controller, barisan kode yang mana akan melakukan pengolahan data bersama dengan Model untuk keperluan database, lalu pada akhirnya meneruskan sejumlah variabel ke View, barisan kode yang berisikan blade/handlebars yang akan merender html dengan berdasarkan variabel2 yang diberikan.

Paradigma tersebut cukup fungsional dan bertahan lama sampai akhirnya kalangan di era modern merasa paradigma ini memiliki berbagai kekurangan. Dari sinilah workflow baru yaitu JAMstack muncul dan merevolusi web menjadi lebih “modern”.
JAMstack sendiri merupakan gabungan dari kata Javascript, APIs, Markup. Saya menemukan sebuah kutipan yang cukup menjelaskan pengertiannya.

> “A modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup” <br> <br> — Mathias Biilmann (CEO & Co-founder Netlify).

![JAM Definition](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z4aifv081dfwbj3c3qfj.jpg)

Konsepnya sangat sederhana, ketimbang merender setiap laman seperti yang dilakukan MVC dan berbagai paradigma tradisional terdahulu, JAMstack memiliki konsep membawakan sebuah aplikasi statis yang terpadu ke klien dengan dinamisasinya tergantung pada API yang disediakan oleh server secara terpisah. Pikirkan ini seperti sebuah aplikasi di ponsel. Namun jauh lebih mudah dengan tidak perlunya instalasi. Dengan memanfaatkan kemampuan penuh dari Javascript, sebuah Web-App mampu merambah ke berbagai fitur tak terduganya. Ia mampu berjalan secara offline dengan optimasi Progressive Web App, mampu menangani segala sesuatu dengan lebih asinkron, serta yang paling penting adalah aplikasinya berada di sisi klien yang mengarah ke lebih efisien dalam penghematan server secara ekonomis juga scaling yang sangat mudah.

Dengan hadirnya web-app statis yang independent dan tanpa server ini, justru membuat perbedaan jelas dari lingkup kerja seorang web developer bagian front-end dan back-end. Sehingga pada kasus tertentu akan lebih memudahkan bilamana kita memerlukan berbagai bahasa pemrograman yang berbeda di sisi back-endnya karena benar2 terpisah dan transfer datanya melalui API. Revolusi ini juga banyak dipengaruhi dengan naiknya framework2 front-end dedicated semacam react dan vue yang paling populer, serta ada pula hugo dan angular. 

Seiring dengan revolusi ini pula hadirlah teknologi2 baru semacam firebase yang bertindak sebagai Back-End instan alias BaaS (Back-end as a Service) yang juga menyediakan hosting murah bahkan terhitung gratis karena hanya menyimpan sebuah web-app statis (serverless). Bila kita amati, startup yang kini memimpin di berbagai belahan dunia pun telah menerapkan JAMstack pada produknya. Dengan berbagai pemaparan saya tadi maka sudah jelaslah bahwa revolusi ini sedang terjadi dan akan menjadi masa depan dunia pengembangan web.

Lalu bagaimana learning path yang harus dijalani untuk beradaptasi terhadap revolusi ini?

Jika kamu berangkat dari seseorang yang telah paham betul dengan konsep MVC dan web tradisional, maka selamat, hanya beberapa pemahaman konseptual yang perlu dirubah dan mulailah memilih framework jamstack, menurut saya pilihlah antara react atau vue, tapi ini hanyalah rekomendasi personal saya, pilihan ada di tanganmu. Nah, jika belum tahu sama sekali, atau baru mulai memasuki dunia web, baiknya belajar web dasar yaitu html css dan kemudian memperkuat kemampuan menggunakan javascript. Setelah itu terjunlah langsung ke framework yang menurutmu mudah untuk dipahami. Lanjutkanlah dengan mendalami framework tersebut baru kemudian berlatihlah mengambil projek. Sampai di titik ini barulah berpikir untuk mencoba framework lain untuk menambah cakupan skill. Sekian dari saya, semoga membantu…

Referensi :

WTF is JAMstack? : https://jamstack.wtf
For fast and secure sites Jamstack : https://jamstack.org

Gambar :
css-tricks.com, sitepoint.com, tiuweehan.com