Kamis, 13 Agustus 2009

Membandingkan PHP Framework

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
  • 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
  • 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.
  • 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
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
  • Faktor lain yang membuat CodeIgniter unggul adalah dukungan forum yang friendly, dan hampir setiap pertanyaan, walaupun yang sepele dijawab. Orang-orang tau kemana harus pergi ketika menemukan kesulitan. Produk yang bagus membuat client tertarik untuk membelinya. Tapi support dan servis yang bagus akan mempertahankan client yang sudah ada"
  • Jika dikaitkan dengan sebuah tim? ” Tim yang berisi orang-orang pintar berpotensi untuk jadi tim yang hebat. Tapi hanya akan jadi tim yang benar-benar hebat jika antar anggota tim bisa saling support.

Akhung Berithel Ina
Software Developer
(PT Traspac Makmur Sejahtera)


Related Posts by Categories



Widget by Scrapur

2 komentar:

  1. na dibandingkan cakephp apa ya???
    thx

    BalasHapus
  2. This is a nice article..
    Its very easy to understand ..
    And this article is using to learn something about it..

    php tutorial

    Thanks a lot..!

    BalasHapus