Pengenalan Codeigniter Part 1
- Mempercepat dan mempermudah pembangunan sebuah aplikasi web
- Relatif memudahkan dalam proses maintenance sebab sudah ada contoh tertentu dalam sebuah framework (dengan syarat programmer mengikuti contoh standar yang ada)
- Umumnya framework menyediakan fasilitas-fasilitas yang umum digunakan sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll)
- Lebih bebas dalam pengembangan dibandingkan CMS
Design Patern : MVC (Model, View, Controller)
Model View Controller merupakan suatu konsep yang cukup terkenal dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi menurut komponen utama yang membangun sebuah aplikasi manipulasi data, user interface, dan belahan yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu:
- Model, biasanya bekerjasama eksklusif dengan database untuk memanipulasi data (inster update, delete, search), menangani validasi dari controller, namun tidak sanggup bekerjasama eksklusif dengan belahan View
- View, merupakan belahan yang menanganani presentation logic. Pada aplikasi web belahan ini biasanya berupa file template HTML, yang diatur controller. View berfungsi untuk mendapatkan dan mempresentasikan data kepada user. Bagian ini tidak mempunyai kanal eksklusif terhadap belahan model
- Controller, merupakan belahan yang mengatur kekerabatan antara belahan model dan belahan view, controller berfungsi untuk mendapatkan request dan data dari user lalu memilih apa yang akan diproses oleh aplikasi.
Dengan memakai prinsip MVC suatu aplikasi sanggup dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani belahan model dan controller, sedangkan designer yang menangani belahan view, sehingga penggunaan arsitektur MVC sanggup meningkatkan maintanability dan organisasi kode. Walaupun demikian diharapkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.