1 Tahun Bersama CodeIgniter

Sudah 1 tahun saya telah mengenal dan bersama CodeIgniter, sebuah framework PHP yang bisa dikatakan legendaris. CodeIgniter merupakan cikal bakal terlahirnya framework — framework PHP lainnya seperti Yii, Laravel, Symphony, dan lain-lain.

Awalnya CodeIgniter dilahirkan oleh ElisLab. Namun, karena sang pencipta dan timnya tidak fokus terhadap pengembangan CodeIgniter, maka framework ini nyaris dinyatakan deprecated. Akan tetapi, beberapa tahun berikutnya sekitar bulan Oktober 2014, kampus BCIT (British Columbia Institute of Technology) mengambil alih framework ini dan terus berkembang dari versi 2.2.6 ke versi sekarang (3.x).

Banyak programmer dan developer beranggapan bahwa CodeIgniter sudah “mati” dan lebih beralih kepada Laravel, Yii dan framework lainnya. Saya mengenal CodeIgniter pada semester 5 dan menggunakan framework ini sebagai tugas akhir saya. Akan tetapi, sebelum menggunakannya sebagai tugas akhir saya sempat mengatakan ini di sosial media:

Belajar framework CodeIgniter. 
Sebuah framework PHP yang bisa dibilang hampir deprecated dan kebanyakan developer migrasi ke Laravel. Hal ini disebabkan karena perkembangan zaman.

Pada saat semester 5, saya cuma tahu kalau CodeIgniter itu jelek dan Laravel itu bagus tetapi belum pernah menyelami CodeIgniter sampai palung laut, baru sampai tepi kolam renang saja. Ha ha ha. Gara-gara itulah saya membuat status seperti di atas. Ini merupakan contoh tidak baik dan merupakan sebuah asumsi terburuk dalam menilai suatu hal. Ingat, setiap hal punya kelebihan dan kekurangannya masing-masing.

Oke lanjut, seiring perjalanan saya yang dulu tidak suka dengan CodeIgniter, kini saya mulai menyukainya karena prinsip-prinsip yang sederhana dan mudah dipahami oleh programmer PHP pemula hingga tingkat ahli. Namun, kekurangan dari CodeIgniter seperti tidak menciptakan Authentication/Authorization/User Groups, CRUD generator, Unit testing yang masih terpisah (saya belum pernah mencobanya hanya mendengar dan membaca dari forum CodeIgniter) menjadi penyebab para programmer dan developer beralih ke framework modern seperti Laravel yang sedang ngehits sampai hari ini.

Setiap framework punya kelebihan dan kekurangannya masing-masing. Saya sendiri masih belum mengetahui 100% kekuatan sebenarnya dari CodeIgniter versi 3 ini dan bahkan versi 4 pun sedang dikembangkan oleh BCIT. Banyak para developer dan programmer mencari jalan tercepat dalam mendevelop aplikasi tetapi masih kurang memahami konsep dasar MVC dan OOP. Padahal, menurut saya framework lahir dengan 2 konsep tersebut. Jadi, rasanya percuma menganggap ini keren itu keren tetapi konsep masih belum tajam. Serta, sebagian besar para developer dan programmer memiliki sebuah “penyakit” yang parah yaitu membaca dokumentasi dan koding. Bagaimana bisa membuat sebuah aplikasi yang baik bila tidak membaca dokumentasi dan koding? Ibarat seperti kamu ingin menjadi seorang novelis terkenal tetapi tidak pernah membaca novel karya orang lain dan seorang juru masak yang ingin memasak nasi goreng tetapi tidak membaca resep membuat nasi goreng yang pas untuk pelanggan.

Membaca dokumentasi dan koding merupakan senjata kuat para developer dan programmer apalagi kalau ikut berkontribusi dalam project open source seperti meningkatkan framework favoritnya menjadi lebih baik dari sebelumnya.

Kembali lagi ke CodeIgniter. Masih banyak hal yang ingin saya gali dari CodeIgniter ini dan masih banyak kejutan yang dihadirkan oleh kampus BCIT untuk membuat CodeIgniter menjadi lebih baik. Kejutan ini akan membuat saya semakin berdebar-debar, jantung berdetak kencang. Saya yakin framework ini akan lebih baik dengan catatan para developer dan programmernya telah membaca dan memahami dokumentasi CodeIgniter. Satu kejutan yang saya nantikan adalah apakah framework CodeIgniter ini bisa diterapkan ke dalam project skala Enterprise? Banyak beranggapan tidak bisa, tetapi entah mengapa saya ingin mencobanya dan kalau tidak sempat saya berharap ada seseorang atau sesuatu yang memberi tahu saya kalau ada yang telah menerapkannya ke skala Enterprise. 1 tahun bersama CodeIgniter ternyata masih kurang untuk menggalinya dan memanfaatkan kekuatannya sampai 100%.

Saya pernah mencoba berpaling ke Laravel dan Yii, tetapi malah membuat saya tidak fokus dan tidak nyaman. Saya berasa seperti waktu hidup saya hanya untuk mencoba — coba framework bukan membuat sesuatu dari CodeIgniter. Masih banyak hal yang ingin saya kejar bersama CodeIgniter dan 1 tahun ini masih belum cukup. Saya berharap dapat mengeluarkan potensi maksimal dari CodeIgniter.

Rasanya tidak ada gunanya berdebat tentang framework X lebih baik dan framework Y lebih baik. Apalagi lagi lebih parah “Perang Mengejek Framework” di sosial media 1 tahun lalu (Saya berharap ini tidak terjadi). Kini saatnya kita berkarya dengan cara dan teknik yang berbeda — beda untuk peradaban yang lebih baik lagi.