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

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

(PT Traspac Makmur Sejahtera)

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: