Selasa, 10 Agustus 2010

Perbandingan PHP Framework

Membandingkan PHP Framework saat ini menjadi kebutuhan dalam membangun sebuah aplikasi berbasis PHP. Banyak orang bertanya mengenai kelebihan satu framework dengan framework yang lain.

Mengapa Framework?

* Mempercepat dan mempermudah dalam membuat sebuah aplikasi PHP
* Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
* Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll)
* Lebih bebas dalam pengembangan jika dibandingkan CMS


MVC Pattern

MVC (Model View Controller) merupakan suatu metode untuk memisahkan pengedali logika dan pengendali tampilan.

Terdiri dari :

* Model : mengandung fungsi-fungsi untuk berkomunikasi dengan database
* View : Berurusan dengan tampilan yang terlihat user
* Controller : Proses logika, pemeriksaan input, relasi view dan model, dan pengaturan hal-hal yang dilakukan diatur di sini


Framework dengan konsep MVC

* CodeIgniter
* CakePHP
* Akelos
* Zend
* Symfony
* Prado
* Yii
* Kohana
* dll

CodeIgniter

Kelebihan

* Mudah digunakan dan tidak memerlukan konfigurasi yang rumit
* Fungsi-fungsi pendukung yang cukup lengkap
* Mendkung PHP4 dan PHP5
* Mungkin merupakan Framework MVC paling populer dan paling banyak digunakan
* Dokumentasi yang sangat bagu, friendly dan didukung oleh forum, wiki, dan komunitas yang besar

Kekurangan

* Tidak mendukung AJAX, dan ORM
* Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan kebebasan user untuk melanggar aturan MVC


CakePHP

Kelebihan

* Dukungan terhadap AJAX, ORM
* Automagic function seperti validasi input, dll, yang mempercepat coding
* Support PHP4 dan PHP5
* Lebih mencerminkan MVC yang sesungguhnya dibandingkan CI
* Komunitas pengguna yang besar dan forum cukup baik

Kekurangan

* Manual yang ada tidak selengkap CI.
* Butuh waktu belajar yang lebih lama untuk menguasai framework ini dibanding
CI. Tapi jika sudah benar-benar mengerti, banyak kelebihan dibanding CI. Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu dengan CodeIgniter baru kemudian mempelajari CakePHP * (http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/)


Symfony

Kelebihan

* Dukungan terhadap AJAX, ORM
* Kompatibel dengan berbagai macam database
* Banyak library dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekati
CMS. Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of a framework.” ini menjadi kelebihan sekaligus kekurangan.

Kekurangan

* Tidak mendukung PHP4
* Relatif butuh waktu lama untuk mengerti framework ini
* Instalasi dan konfigurasinya cukup rumit


Zend

Kelebihan

* Dukungan terhadap AJAX, ORM
* Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend

Framework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr


Kekurangan

* Tidak mendukung PHP4
* Manual yang ada kurang mengakomodasi kebutuhan
* Performanya relatif lambat (mungkin karena banyaknya library)
* Konon katanya Framework ini hanya cocok untuk orang dengan skill PHP yang sudah sangat tinggi.


Akelos

Merupakan Framework yang relatif baru dengan kemampuan yang handal dan lengkap

Kelebihan

* Dukungan terhadap PHP4, PHP5, AJAX, ORM (cukup lengkap dan cukup mengakomodasi semua kebutuhan yang umum dari aplikasi php)

Kekurangan

* Kurang adanya dukungan komunitas. Mungkin karena masih relatif baru
* Beberapa forum mengatakan bahwa framewok ini cukup banyak memakan memory (http://forum.akelos.org/discussion/712/akelos-consumes-a-lot-of-memory/)


Tabel Perbandingan PHP Framework :

(http://www.phpframeworks.com/)

2 komentar:

blog dana mengatakan...

nih gw komeng pertamax

gw sih cukup pake codeigniter sama zend dah cukup :beer:

gen5x4 mengatakan...

CI masih tetap favoritku...