Apa itu framework?
Framework adalah suatu koleksi teknik dan cara yang diambil daripada aktiviti dalam pembangunan sistem seperti DAL (Database Abstraction Layer), ORM, input validation, caching, templating, dan sebagainya.
Berikut adalah senarai framework untuk pembangunan web.
Mengapa perlu menggunakan framework?
Ia mengelakkan anda daripada perlu mengulangi aktiviti mengkod (ataupun menyelesaikan masalah yang telahpun anda selesaikan) yang berulang dengan menggunakan prinsip DRY (Don’t Repeat Yourself).
Framework menggalakkan anda supaya memisahkan kod persembahan, kod kawalan, dan logik perniagaan. Memudahkan penyelenggaraan pada masa akan datang, memudahkan aktiviti pengayahpijat (debug) dan pelbagai lagi bergantung pada objektif-objektif framework tersebut (contohnya CakePHP, salah satu kebolehannya adalah ianya dapat mempercepatkan pembangunan CRUD aplikasi web).
Framework juga mempercepatkan pembangunan perisian kerana ia menyediakan ‘helper’ dan ‘library’ yang biasa digunapakai dalam pembangunan perisian seperti ORM, Date Manipulation, Upload, Profiling, Unicode, etc (seperti yang saya nyatakan diatas).
Framework mana yang bagus?
Tiada satu framework yang bagus untuk semua. Semua mempunyai kelemahan dan kelebihan. Untuk mengetahui dengan lebih tentang kelebihannya adalah dengan memahami objektif framework tersebut, feature-feature dan juga dengan mencubanya.
Kesimpulannya, kepentingan framework adalah kerana ianya..
- menggalakkan ‘best practices‘
- mempercepatkan pembangunan aplikasi
- menyediakan modul, library dan helper untuk menyelesaikan permasalahan umum
- memisahkan kod persembahan daripada kod pemprosesan (logik perniagaan, akses pangkalan data, etc)
- memudahkan komunikasi (penggunaan istilah) diantara pengaturcara lain jika mereka menggunakan framework yang lebih kurang sama
- mempunyai komuniti untuk membantu anda (jika anda menggunakan framework sendiri, maka tiada komuniti)
- mempunyai pengaturcara khas untuk pembangunan framework tersebut maka anda tak perlu membangunkannya sendiri, hanya fokus pada aplikasi yang hendak dibangunkan
Itu adalah diantara yang dapat saya fikirkan buat masa ini, mungkin ada lebih lagi.
Dari sudut perniagaan, mengapa perlu menggunakan framework? Mempercepatkan prototaip, memudahkan penyelenggaran (mengurangkan error dan jika ada error lebih mudah untuk menjejakinya), memudahkan integrasi dengan aplikasi 3rd party (SAP, Peoplesoft, Facebook, Google Apps, Google Single Sign-on (SSO), dan bermacam lagi) bermaksud anda dapat melakukan lebih dalam masa yang singkat (berbanding tanpa menggunakan framework).
Masih kurang faham? Pilih satu framework, pilih satu projek (contohnya Pengurusan Tugasan (task management), Guestbook, Blog, etc) dan mula mengkod (berpandukan dokumentasi ataupun tutorial framework tersebut). Anda akan mendapat gambaran yang lebih jelas mengenainya apabila anda menggunakannya.
Selamat programming!
Sumber