Akhir-akhir ini, penggunaan Framework dalam pengerjaan sebuah project aplikasi hangat diperbincangkan.

Hampir semua milis dan forum PHP banyak membahas masalah Codeigniter. Terlabih lagi banyak perusahaan-perusahaan ternama di Indonesia (Kompas.com, okezone.com, urbanesia.com, bejubel.com, dll) yang telah menggunakan Codeigniter dalam produk mereka. Ibarat ingin membangun rumah maka Anda tidak perlu membuat semen, memotong kayu menjadi papan, mengubah batu menjadi porselen dan lain-lain. Anda cukup memilih komponen-komponen tersebut lalu dikombinasikan menjadi rumah yang indah.

Jadi keuntungan yang didapat dalam penggunaan framework adalah :

  • Menghemat Waktu Pengembangan – Dengan struktur dan libray yang telah disediakan oleh framework maka tidak perlu lagi memikirkan hal-hal tersebut, jadi Anda hanya fokus ke proses bisnis yang akan dikerjakan.
  • Reuse of Code – Dengan menggunakan framework maka pekerjaan kita akan memiliki struktur yang baku, sehingga kita dapat menggunakannya kembali di proyek-proyek lainnya.
  • Bantuan Komunitas – ada komunitas-komunitas yang siap membantu jika ada permasalahan, selain itu juga bisa berbagi ilmu sehingga dapat meningkatkan kemampuan pemrogaman kita.
  • Kumpulan best practise – sebuah framework merupakan kumpulan best practise yang sudah teruji, Jadi kita dapat meningkatkan kualitas kode kita.

Catatan :
Framework adalah sebuah struktur konseptual dasar yang digunakan untuk memecahkan sebuah permasalahan atau isu-isu kompleks.

Perlu diingat, framework bukanlah peralatan / tools untuk memecahkan sebuah masalah, tetapi sebagai ALAT BANTU. Framework hanya menjadi sebuah konstruksi dasar yang menopang sebuah konsep atau sistem yang bersifat “essential support” (penting tapi bukan komponen utama).

Salah satu alasan mengapa orang menggunakan framework terutama dalam membangun sebuah aplikasi adalah kemudahan yang ditawarkan. Didalam sebuah framework biasanya sudah tersedia struktur aplikasi yang baik, standard coding (1), best practise (2), design pattern (3), dan common function (4).

Dengan menggunakan framework kita dapat langsung fokus kepada bussiness process yang dihadapi tanpa harus berfikir banyak masalah struktur aplikasi, standard coding dan lain-lain.

Dengan memanfaatkan design pattern dan common function yang telah ada di dalam framework maka hal tersebut dapat mempercepat proses pengembangan aplkasi. Kita tidak perlu membuat sesuatu fungsionalitas yang bersifat umum. Tanpa disadari ketika kita membangun sebuah aplikasi yang banyak melibatkan banyak fungsionalitas yang telah dibangun itu ternyata sama atau berulang-ulang. Dengan pengelompokan itulah kita dapat mempercepat pengembangan aplikasi.

Selain kemudahan dan kecepatan dalam membangun sistem, dengan menggunakan framework tertentu kita juga dapat “menyeragamkan” cara kita mengiimplementasikan kode program. Dengan framework kita akan “dipaksa” untuk patuh kepada sebuah kesepakatan. Selain itu juga akan memudahkan pengembang lain untuk mempelajari dan mengubah aplikasi yang telah dibuat apabila kode yang dihasilkan konsisten dan patuh pada sebuah aturan tertentu.