Saturday, October 16, 2010

Pengertian Framework

Sebuah PHP Framework yang saya nilai lebih mudah digunakan ketimbang CakePHP atau Zend Framework. Struktur CI lebih banyak meniru Ruby on Rail (RoR), sebuah framework pembuatan aplikasi web dengan menggunakan bahasa pemrograman Ruby. Selain itu, dokumentasinya lebih lengkap dan tentunya mudah dipahami.
Secara umum, framework menggunakan struktur MVC (Model, View, Controller). Jika saya gambar kan, kira-kira seperti ini :
Input > Processing > Output = Controller > Model > View

Model
Model mencakup semua proses yang terkait dengan pemanggilan struktur data baik berupa pemanggilan fungsi, input processing atau mencetak output ke dalam browser

Controller
Controller mencakup semua proses yang terkait dengan pemanggilan database dan kapsulisasi proses-proses utama. Jadi semisal di bagian ini ada file bernama member.php, maka semua proses yang terkait dengan member akan dikapsulisasi/dikelompokan dalam file ini.

View
View mencakup semua proses yang terkait layout output. Bisa dibilang untuk menaruh template interface website atau aplikasi.
Kelebihan lain dari CI adalah Search Engine dan Human Friendly URL apalagi nih ? CI menggunakan struktur pemanggilan eksekusi seperti ini :www.your-site.com/news/article/345.
Jadi maksudnya, ketika sebuah Search Engine mencari kata yang terkait ke sebuah situs, maka kata kunci tersebut bisa saja didapatkan dalam pemanggilan alamat situs tersebut.

Kelebiha Framework
Pertama kelebihan dengan adanya framework akan lebih mempermudah memahami mekanisme kerja dari sebuah applikasi. Ini tentunya akan sangat membantu proses pengembangan system yang dilakukan secara team. Semua anggota di wajibkan untuk memahami dari pola kerja framework tersebut selebihnya anggota team hanya mempelajari proses bisnis yang di kehendaki oleh system untuk kemudian di tuangkan kedalam framework tersebut. Dalam artian setiap orang harus mempunyai metode yang sama dalam menyelesaikan applikasi tersebut.

Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu applikasi, karena setiap anggota sudah memiliki sebuah acuan dalam menyelesaikan modul. Dalam hal ini misalnya semakin banyak library yang ada semakin mempercepat anggota untuk menemukan solusi karena tidak setiap anggota harus membuat Class atau fungsi untuk kasus yang relatif sama.

Berikutnya Team tidak akan di susahkan dengan adanya perputaran anggota dalam artian jika ada anggota yang tidak bisa melanjutkan lagi pekerjaannya anggota yang lain bisa meng-cover kekosongan tersebut. Bayangkan jika setiap modul yang dikembangkan mempunyai logika yang berbeda tentunya akan memakan waktu yang banyak untuk proses pemahan akan system tersebut.

Kesekian-kalinya dengan adanya framework akan menjaga integritas dari modul-modul yang dikembangkan. Tentunya hal ini juga tergantung dari metode yang dikembangkan sendiri. framework hanya membantu dan memungkinkan/mempermudah proses integrasi, tidak berarti dengan adanya framework system otomatis akan ter-integrasi. Dan masih ada kelebihan-kelebihan lain yang dimiliki oleh framework.

No comments: