1 minute read

CodeIgniter adalah salah satu framework pertama yang saya gunakan secara serius.
Bukan karena ia paling populer,
tapi karena ia terasa paling masuk akal saat itu.

Dokumentasinya jelas.
Strukturnya sederhana.
Dan yang paling penting: saya bisa langsung bekerja.

Tidak banyak abstraksi yang harus dipahami di awal.
Apa yang saya tulis di controller, itulah yang dijalankan.
Apa yang saya panggil di model, itulah yang terjadi.

Bagi saya yang sedang belajar membangun aplikasi nyata,
itu terasa cukup.

CodeIgniter tidak banyak mengatur.
Ia memberi kerangka dasar, lalu mundur selangkah.

Awalnya, ini terasa membebaskan.
Saya bisa mengatur sendiri struktur proyek.
Menentukan sendiri konvensi.
Menulis kode sesuai kebutuhan saat itu.

Dan untuk proyek kecil,
atau tim yang masih sangat terbatas,
pendekatan ini bekerja dengan baik.

Masalah baru muncul ketika aplikasi mulai tumbuh.

Kode mulai menyebar.
Pola mulai berbeda-beda.
Keputusan lama sulit dilacak kembali alasannya.

Di titik itu, saya mulai menyadari sesuatu:
kesederhanaan tidak otomatis berarti terstruktur.

CodeIgniter tidak pernah berjanji menyediakan struktur lengkap.
Ia hanya menyediakan alat.

Dan ketika alat itu digunakan tanpa kesepakatan yang jelas,
kekacauan pelan-pelan muncul.


Pengalaman ini mengajarkan saya satu hal penting:
framework tidak pernah menggantikan keputusan.

CodeIgniter bekerja dengan baik selama:

  • ruang lingkup proyek masih jelas
  • orang yang mengerjakan tidak terlalu banyak
  • perubahan masih bisa dikendalikan

Begitu asumsi-asumsi itu runtuh,
beban berpindah sepenuhnya ke manusia dan proses.

Saya mulai melihat bahwa masalahnya bukan pada CodeIgniter.
Masalahnya pada ketiadaan struktur yang disepakati sejak awal.

Dan itu bukan kesalahan framework.


Tulisan ini bukan pembelaan,
juga bukan penyesalan.

CodeIgniter memberi saya pelajaran penting di awal perjalanan:
bahwa kesederhanaan itu berharga,
tetapi hanya jika diiringi kesadaran akan batasnya.

Pelajaran itu yang kemudian membuat saya
lebih berhati-hati ketika memilih alat berikutnya.

Dan di situlah cerita tentang framework lain dimulai.