Azis Hapidin Software Developer | Specialized in Backend Development

Response Time vs Development Time, pilih mana?

4 min read

Sudah 1 tahun lebih ini saya ngoding menggunakan Framework Laravel dan hanya menggunakan PHP Native untuk nulis program iseng-iseng/nyoba algoritma baru saja. Sangat terasa sekali perbedaan ketika dulu saya menggunakan PHP Native dan Framework, terutama masalah waktu pengembangan program. Anehnya, ternyata masih banyak orang-orang yang saya kenal yang masih keukeuh menggunakan PHP Native. Alasannya adalah mereka bilang ‘pake framework response nya jadi lama’. Yaps, memang saya akui setelah menggunakan Framework terutama Laravel response time jadi agak sedikit lama, tapi saya rasa itu bukan masalah besar karena kita bisa mempercepat dengan melakukan optimasi di coding dan query, toh hasilnya rata-rata masih dibawah 1 detik dan tidak akan terasa oleh user. Kalau gak percaya silahkan cek disini, silahkan buka satu per satu websitenya, dari sisi response time biasa aja kan ya? Paling agak lama di masalah load content dan itu bukan tanggung jawab Framework PHP selaku Backend, tapi tanggung jawab frontend. Justru yang menjadi masalah cukup besar menurut saya adalah development time yang cukup lama.

Misal untuk membuat autentikasi, jika menggunakan PHP Native maka yang harus kita lakukan adalah:

  1. Membuat database dan beberapa tabel yang dibutuhkan.
  2. Membuat file/script untuk handle koneksi ke database.
  3. Membuat form register.
  4. Membuat validasi, proses kemudian insert ke database.
  5. Membuat form login.
  6. Membuat validasi kemudian lakukan pengecekan ke database apakah informasi user tersebut benar / tidak dan ada atau tidak.
  7. Membuat session/cookie untuk menyimpan informasi user yang sedang aktif.

Cukup merepotkan bukan? Sampai sini saya udah males lanjutin 😀 Padahal itu baru login dan register sederhana saja, kita belum membahas hal lain seperti fitur Lupa Password, Email Konfirmasi saat register, dan fitur lainnya. Mungkin jika kita hanya melakukannya beberapa kali seumur hidup bukan masalah, tapi kalau misal tiap bulan kita handle 1 project dan melakukan hal diatas secara berulang-ulang kan cukup malesin. Ini juga melanggar prinsip DRY (Don’t Repeat Yourself), solusinya adalah kita pecah modul autentikasi diatas menjadi sebuah library/module terpisah atau menggunakan Framework (dalam hal ini yang saya maksud adalah Framework Laravel). Tapi saya tetep prefer untuk menggunakan Framework, karena menggunakan cara yang pertama tetap akan menyita waktu untuk pembuatan belum untuk pengetesan Vulnerability.

Jika kita menggunakan Framework Laravel untuk membuat fitur Autentikasi yang umum digunakan bisa dilakukan dalam waktu 2-5 detik saja. Cukup jalankan php artisan make:auth dan tadaaa jadi deh Autentikasi sederhana yang berisi fitur: Register, Login, Lupa Password dan handle session user.

Bagaimana kalau kita ingin merubah struktur tabel user? Cukup ubah file migration, begitupun kalau kita ingin merubah flow lainnya, cukup main-main di Auth Controller 😀

Semoga bermanfaat, mohon maaf jika ada salah kata atau ada yang tersinggung dengan artikel ini.


Azis Hapidin Software Developer | Specialized in Backend Development