Perbandingan PHP Frameworks
Membandingkan PHP Framework saat ini menjadi kebutuhan dalam membangun sebuah aplikasi berbasis PHP. banyak orang bertanya mengnai kelebihan 1 framework dengan framework lain. CodeIgniter vs CakePHP, CodeIgniter vs Zend, CodeIgniter Vs Symfony, dan lain-lain.
Mengapa Framework?
- Mempercepat dan mempermudah pembangunan sebuah aplikasi PHP
- Relatifmemudahkan dalam proses maintenance karena sudah ada pola tertentudalam sebuah framework (dengan syarat programmer mengikuti pola standaryang ada)
- Umumnya framework menyediakan fasilitas-fasilitasyang 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
- CodeIginter
- 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.
- Butuhwaktu belajar yang lebih lama untuk menguasai framework ini dibandingCI. Tapi jika sudah benar-benar mengerti, banyak kelebihan dibandingCI. Beberapa situs menyarankan anda untuk belajar dan terbiasa duludengan 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
- Banyaklibrary dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekatiCMS. Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of aframework.” 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
- Berdasarkaninformasi dari situs resminya, disebutkan bahwa fokus dari ZendFramework ini adalah untuk membangun aplikasi berbasis Web dan untukmemudahkan 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/)
Kesimpulan
- Ternyata dokumentasi dan manual merupakan salah satu kunci sukses CodeIgniter. Padahal Framework lain memiliki banyak keungulan. ” Produk yang hebat tanpa didukung dokumentasi yang bagus ternyata tetap kalah dibanding produk yang biasa-biasa saja”
- Faktorlain yang membuat CodeIgniter unggul adalah dukungan forum yangfriendly, dan hampir setiap pertanyaan, walaupun yang sepele dijawab.Orang-orang tau kemana harus pergi ketika menemukan kesulitan. ”Produkyang bagus membuat client tertarik untuk membelinya. Tapi support danservis yang bagus akan mempertahankan client yang sudah ada"
- Jika dikaitkan dengan sebuah tim? ”Tim yang berisi orang-orang pintar berpotensi untuk jadi tim yanghebat. Tapi hanya akan jadi tim yang benar-benar hebat jika antaranggota tim bisa saling support. ”
Akhung Berithel Ina
Software Developer
Top 10 Hot PHP Frameworks
1 CodeIgniter (71 votes)
2 CakePHP (55 votes)
3 Zend (52 votes)
4 Yii (52 votes)
5 Symfony (37 votes)
6 PHPDevShell (33 votes)
7 Prado (23 votes)
8 Akelos (19 votes)
9 ZooP (5 votes)
10 QPHP (4 votes)
Top 10 Ranking PHP Frameworks
1 Yii (avg: 4.73) Ranking:
2 CodeIgniter (avg: 4.35) Ranking:
3 PHPDevShell (avg: 4.24) Ranking:
4 Symfony (avg: 4.22) Ranking:
5 CakePHP (avg: 4.18) Ranking:
6 Prado (avg: 4.09) Ranking:
7 Akelos (avg: 4.05) Ranking:
8 Zend (avg: 3.81) Ranking:
9 ZooP (avg: 3.6) Ranking:
10 eZ Components (avg: 3.5) Ranking: