Mengenal Resumability: Render Website lebih Cepat


Di era digital yang serba cepat ini, semua orang terasa seperti buru-buru. Oleh karena itu, membangun website yang dapat memberikan informasi dan konten secepat mungkin merupakan hal yang sangat krusial. Terlambat beberapa milidetik saja dapat mengakibatkan kerugian bagi pemilik perusahaan atau website. Efisiensi dan performa semakin menjadi sesuatu yang harus sangat diperhatikan oleh para developer di era ini. Salah satu konsep rendering baru yang dapat menjawab tantangan ini adalah resumability. Konsep ini berfokus pada kemampuan aplikasi untuk melanjutkan eksekusi dari tempat terakhir pengguna tanpa perlu memuat ulang seluruh aplikasi.

Apa itu Resumability?

Resumability adalah kemampuan aplikasi web untuk “mengingat” status terakhir pengguna dan melanjutkan eksekusi dari titik tersebut ketika pengguna kembali atau melanjutkan interaksi. Cara kerja resumability mirip seperti Virtual Machine, dimana komputer kita mengingat kondisi terakhir dari VM saat dimatikan atau dinyalakan.

Bagaimana cara kerjanya?

  • State Preservation. Aplikasi menyimpan status (state) pengguna saat ini. Ini bisa berupa data yang dimasukkan pengguna, halaman yang terakhir dibuka, atau tindakan terakhir yang dilakukan.
  • Code Splitting dan Lazy Loading. Aplikasi dipecah menjadi beberapa bagian kecil (chunks) yang hanya dimuat ketika diperlukan. Ini mengurangi beban awal saat halaman pertama kali dimuat.
  • Hydration Opt-in. Pada saat halaman dimuat, aplikasi hanya me-hydrate bagian yang diperlukan untuk interaksi saat ini. Bagian lainnya tetap statis hingga dibutuhkan.
  • Serialization dan Deserialization. Status aplikasi dapat diserialisasikan (diubah menjadi format yang dapat disimpan) dan disimpan di penyimpanan lokal atau dikirim ke server. Ketika aplikasi dimulai kembali, status ini bisa deserialisasikan (diubah kembali menjadi bentuk asli) untuk melanjutkan eksekusi.

Implementasi

Implementasi resumability memerlukan pendekatan yang hati-hati dalam pengembangan aplikasi. Beberapa framework modern, seperti Qwik, telah mengadopsi dan mengoptimalkan konsep ini untuk memberikan performa maksimal. Qwik, misalnya, memanfaatkan resumability dengan cara meminimalisir jumlah kode JavaScript yang perlu dijalankan ulang ketika pengguna berinteraksi dengan aplikasi.

Kesimpulan

Resumability adalah sebuah konsep revolusioner dalam pengembangan aplikasi web yang menawarkan banyak manfaat, termasuk waktu load yang cepat, efisiensi resource, dan pengalaman pengguna yang lebih baik. Dengan adopsi framework seperti Qwik, developer dapat memanfaatkan teknologi ini untuk membangun aplikasi yang tidak hanya cepat dan efisien tetapi juga memberikan pengalaman yang mulus bagi pengguna.

Author: Dede Kurniawan

Referensi: https://www.builder.io/blog/resumability-from-ground-up