TUGAS
KE 1
Disusun untuk memenuhi
Matakuliah Pemrograman
Web Berbasis Framework
Yang dibimbing oleh
Bapak Aries Alfian Prasetyo, S.Pd.
OLEH
:
Aryanti Sekar Wahyu
Teknik Informatika 1
AKADEMI
KOMUNITAS (Poltek) NEGERI BOJONEGORO
JURUSAN
TEKNIK INFORMATIKA
Bulan,
Tahun
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?
v Mempercepat dan mempermudah
dalam membuat sebuah aplikasi PHP
v Relatif memudahkan dalam proses
maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan
syarat programmer mengikuti pola standar yang ada)
v 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)
v 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 :
v Model : mengandung
fungsi-fungsi untuk berkomunikasi dengan database
v View : Berurusan dengan
tampilan yang terlihat user
v Controller : Proses logika,
pemeriksaan input, relasi view dan model, dan pengaturan hal-hal yang dilakukan
diatur di sini
Framework dengan konsep
MVC
v CodeIgniter
v CakePHP
v Akelos
v Zend
v Symfony
v Yii
v Kohana
v dll
Code Igniter
CodeIgniter adalah Framework pengembang aplikasi yang digunakan oleh para web developer dalam membangaun web. Tujuannya adalah untuk memungkinkan Anda untuk mengembangkan proyek-proyek jauh lebih cepat dari yang Anda bisa jika Anda sedang menulis kode dari awal, dengan menyediakan satu set kaya perpustakaan untuk tugas-tugas yang biasa diperlukan, serta antarmuka yang sederhana dan struktur logis untuk mengakses perpustakaan. CodeIgniter memungkinkan Anda kreatif fokus pada proyek Anda dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas yang diberikan.
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 bagus, 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
Cake PHP
CakePHP adalah kerangka pembangunan yang cepat untuk PHP yang menggunakan pola desain umum dikenal seperti ActiveRecord, Asosiasi Pemetaan Data, Front Controller dan MVC. Tujuan utama kami adalah untuk menyediakan kerangka kerja terstruktur yang memungkinkan pengguna PHP di semua tingkatan untuk secara cepat mengembangkan aplikasi web yang kuat, tanpa kehilangan fleksibilitas.
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.
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 :
- Beberapa forum mengatakan bahwa framewok ini cukup banyak memakan memory
- Kurang adanya dukungan komunitas. Mungkin karena masih relatif baru
Zend
Memperluas seni & semangat PHP, Zend Framework didasarkan pada kesederhanaan, berorientasi objek praktik terbaik, lisensi ramah perusahaan, dan basis kode tangkas diuji ketat. Zend Framework difokuskan pada membangun web lebih aman, handal, dan modern 2.0 aplikasi & layanan web, dan API tersedia luas mengkonsumsi dari vendor terkemuka seperti Google, Amazon, Yahoo, Flickr, serta penyedia API dan cataloguers seperti StrikeIron dan ProgrammableWeb.
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
Symfony
Symfony adalah sebuah aplikasi web framework untuk PHP5 proyek. Hal ini bertujuan untuk mempercepat pembuatan dan pemeliharaan aplikasi web, dan untuk menggantikan tugas coding berulang-ulang oleh kekuasaan, kontrol dan kesenangan.
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.
Yii
Yii adalah component based high performance PHP kerangka kerja untuk mengembangkan skala besar aplikasi Web. Yii ditulis dalam OOP dan dilengkapi dengan referensi kelas menyeluruh dan tutorial yang komprehensif. Dari MVC, DAO / ActiveRecord, widget, caching, RBAC hirarkis, layanan Web, untuk tema, I18N dan L10N, Yii menyediakan hampir semua fitur yang dibutuhkan oleh saat ini pengembangan aplikasi Web 2.0.
Kelebihan:
- Yii adalah salah satu framework
yang sangat ringan dan dilengkapi dengan solusi caching yang memuaskan.
- Yii sangat cocok untuk
pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, manajemen
konten (CMS), sistem e-commerce, dll.
- Yii didokumentasikan dengan
jelas, efisien, dan kaya-fitur.
- Tidak banyak kekurangan yang
ditemui pada penggunaan Yii. Yii cukup mencakup segala macam fitur-fitur
yang diperlukan dalam membangun sebuah web. Namun, bukan berarti Yii tidak
mempunyai kekurangan. Salah satu kekurangan Yii yang cukup signifikan
adalah tidak compatible nya Yii dengan PHP 4.
Kohana adalah salah satu dari banyak sekali framework PHP. Sebenarnya Kohana adalah framework yang diturunkan dari Code Igniter, framework terpopuler di dunia dan diakui sebagai framework PHP yang memiliki kecepatan paling tinggi.
Sama seperti framework
lainnya dan mengikuti framework orang tuanya, Kohana didesain untuk
pengembangan dengan desain MVC (Modeller-Viewer-Controller). Perbedaannya
dengan Code Igniter adalah Kohana sudah memiliki implementasi ORM
(Object-Relational-Mapping) yakni langsung dapat memetakan sebuah class
terhadap database. Pemetaan ini dipengaruhi oleh pengguna fitur ORM paling
terkenal di dunia, Ruby on Rails dengan Active Recordsnya. Sama halnya dengan Ruby on
Rails, penggunaan ORM ditekankan pada Convention over Configuration, yakni pengembang harus
mematuhi konvensi-konvensi dasar yang sudah ditetapkan oleh Kohana untuk dapat
menggunakan ORM. Dengan
tetap mempertahankan kecepatan dari Code Igniter.
Kohana
memiliki beberapa kelebihan lain, yakni cascading resource structure. Model ini
memudahkan pengembang untuk mengembangkan modul-modul pada Kohana. Selain itu,
Kohana juga memiliki library dasar yang diambil dari Code Igniter.
Akan
tetapi Kohana masih memiliki banyak kekurangan terlebih lagi karena masih
banyak fitur-fitur dari Ruby on Rails yang belum diimplementasikan pada Kohana.
Kekurangan lain adalah Kohana masih belum memiliki scaffolding terintegrasi
sehingga agak sedikit merepotkan. Selain itu, sebagai framework yang sedang
berkembang pesat, perkembangan ini tidak diikuti oleh dokumentasi yang up to
date, karena banyak sekali penambahan fitur-fitur pada setiap versinya.
Daftar Rujukan
http://lenggo87.blogspot.com/2010/08/perbandingan-php-framework.html
http://maleskoding.wordpress.com/tag/kohana/
http://cobadibacalagi.blogspot.com/2013/10/kelebihan-dan-kekurangan-beberapa-php.html