Kunci Untuk Memahami Kenapa Framework Seperti NextJS Ada

by

in

Saya mengawali karir saya di dunia IT melalui bidang pengembangan web. Dan bahasa pemrograman yang saya gunakan saat itu adalah PHP. Ini perlu di sebutkan karena kalau seseorang mengatakan “Saya kerja di IT”, itu terdengar seperti |”Saya seorang supir”. F1? Truk tronton? Supir pribadi?

Logo NextJS. Gambar dari Kyan.

PHP, MySQL, dan CodeIgniter

Framework berdiri di atas bahasa pemrograman namun dibawah Content Management System seperti WordPress yang saya gunakan ini. Software stack yang populer saat itu adalah LAMP, atau WAMP untuk pengguna Windows. Dan salah satu framework PHP populer saat itu adalah CodeIgniter. Dari situlah awal mula perjalanan karir saya di IT. Saya pernah mencoba beberapa framework PHP lainnya seperti Yii, Zend, dan Simfony. Namun CodeIgniter adalah framework dengan barrier to entry yang rendah.

/*
 * --------------------------------------------------------------------
 * LOAD THE BOOTSTRAP FILE
 * --------------------------------------------------------------------
 *
 * And away we go...
 */
require_once BASEPATH.'core/CodeIgniter.php';

Potongan program CodeIgniter dari file index.php

Request/Response Tradisional atau Server-Side Rendering

Framework-framework yang saya sebutkan diatas adalah framework-framework tradisional. Tradisiional dalam artian kode html dikirimkan ke perambah klien secara utuh setelah melalui komputasi disisi server. Atau istilahnya server-side rendering. Konsep itu kadang dipakai untuk menggantikan pemrograman server-side. Namun menurut saya itu salah kaprah karena bisa saja di sisi server tidak terdapat komputasi. Untuk kasus itu, website tidaklah dinamis melainkan statis.

Server-side rendering (SSR). Gambar dari K&C.

Web Server dan Bahasa Pemrograman

Dalam konsep server-side rendering, terdapat perangkat lunak server yang bertugas untuk menerima request dan mengirimkan response balik ke perambah klien. Dalam LAMP atau WAMP stacks tugas itu dipangku oleh Apache. Perangkat lunak ini tidak bertugas melalukan komputasi apapun, melainkan hanya menangani request dan response. Yang bertugas melalukan komputasi adalah bahasa pemrograman, seperti PHP, Java, Ruby, atau JavaScript. Yang terakhir baru-baru saja masuk dalah daftar itu setelah kemunculan Node.

Logo NodeJS

Single Page Application atau SPA

Pada medio 2000 akhir, framework-framework website berubah konsep menjadi single-page application. Sebuah istilah yang cukup tepat karena aplikasi web seperti itu hanya merender HTML sekali dan pembaruan halaman berikutnya berlangsung melalui sebuah mekanisme AJAX. Hal ini terjadi salah satunya karena kepopuleran JavaScript, yang memudahkan pengembang-pengembang dari front-end untuk menulis perangkat lunak server-side.

Aplikasi ini menanggalkan keramahan SEO, Search Engine Optimisation. Ini dikarenakan halaman website yang terbaca oleh mesin pencari hanyalah halaman yang pertama kali di ungguh oleh perambah klien. Berbeda dengan konsep pemrograman website sedara tradisional, yang mana setiap halaman adalah respon penuh dari server dalam bentuk HTML.

Kebaikan Dua Dunia

Bagaimana kalau kita bisa menggabungkan keuntungan dari dua dunia tersebut? Itulah alasan kenapa NextJS ada. Pada dasarnya, kita bisa membuat sebuah SPA dengan tidak menanggalkan keramahan SEO. Ada dua pilihan sebenarnya. Secara manual mengimplementasikan server-side rendering dari sebuah SPA, seperti yang saya lakukan untuk halaman web pribadi saya. Atau menggunakan framework yang sudah tersedia seperti NextJS.

Jadi, untuk memahami cara kerja NextJS, atau alasan kenapa framework seperti itu ada, seseorang harus melalui tahapan tentang bagaimana membuat sebuah halaman web secara tradisional. Tentu saja tidak semua harus seperti itu juga. Setidaknya, itulah perjalanan saya memahami kenapa framewrok seperti NextJS ada.

Semoga bermanfaat.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *