FRAMEWORK Pengertian Framework
Dengan framework seorang web programmer dapat membangun aplikasi website dengan lebih mudah dan cepat, karena banyak fungsi siap pakai dalam framework yang semakin mempermudah bagi seorang perogrammer membangun sebuah website. Karena jumlah framework yang tersedia semakin hari semakin banyak dan berkembang pesat, maka bagi seorang programmer hendaknya perlu mengetahui fitur dari masing-masing framework yang ada, agar dapat melakukan komparasi mana Framework yang terbaik dan paling cocok digunakan olehnya. Framework dapat diartikan sebagai sebuah kerangka kerja. Kerangka kerja dimana dapat memudahkan pekerjaan kita. Jika dikaitkan dengan PHP maka dapat diartikan sebagai suatu kerangka kerja yang telah terpola dan memudahkan pengembang web dalam pembuatan web yang menggunakan script PHP. Mempermudah yang dimaksud misalnya, Dalam membuat sebuah aplikasi web kita sering menulis script PHP secara keseluruhan (konvensional) dan itu pun kita ulang pada halaman yang lain. Bukankah itu begitu tidak efesien disamping berat ketika diload ? Dengan PHP Framework semua bisa teratasi. Semuanya sudah diatur menjadi pola-pola tertentu yang disebut dengan class. Pola/class inilah yang meringankan kita dalam penulisan script dan load halaman web. PHP Framework menggunakan metode pengembangan berbasis MVC. Namun apa itu MVC ? MVC merupakan suatu metode untuk memisahkan bagian-bagian dari suatu web
aplikasi. MVC adalah kependekan dari Model View Controller. MVC terdiri dari tiga bagian yaitu;
1. Model : Model mewakili struktur data. Biasanya model berisi fungsifungsi yang membantu kita dalam pengelolaan database seperti memasukkan data ke database, update data dan lain-lain. 2. View : View adalah bagian yang mengatur tampilan ke user. Bisa di katakan berupa halaman web. 3. Controller : Controller merupakan bagian yang menjembatani model dan view. Controller berisi script-script php yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.
Kelebihan framework antara lain sebagai berikut :
1. Ringan
dan
cepat.
Framework
hanya
melakukan
pemanggilan
pustaka/kelas yang dibutuhkan sehingga meminimalkan resource yang diperlukan sehingga ketika kita me-load sebuah halaman akan menjadi ringan dan cepat. 2. Menggunakan metode MVC. Seperti yang telah dijelaskan sebelumnya, dengan metode MVC akan mempermudah kita dalam memahami alur pemrograman karena untuk bagian tampilan, logika dan query database telah dipecah sedemikian rupa. 3. Mayortitas mendukung berbagai jenis database.
Berikut beberapa contoh PHP Framework beserta kelebihan yang dibawanya :
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 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
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
10FrameworkTerbaik: 1.Yii 2.CodeIgniter 3.CakePHP 4.Zend 5.Symfony 6.PHPDevShell 7.Prado 8. Akelos 9.QPHP 10. ZooP Pengertian CMS
CMS (Content Management System) adalah suatu sistem yang digunakan untuk mengelola dan memfasilitasi proses pembuatan, pembaharuan, dan publikasi content secara bersama (collaborative content management). Content mengacu pada informasi dalam bentuk teks, grafik, gambar maupun dalam format-format lain yang perlu dikelola dengan tujuan memudahkan proses pembuatan, pembaharuan, distribusi, pencarian, analisis, dan meningkatkan fleksibilitas untuk ditransformasikan ke dalam bentuk lain. Terminologi CMS
sendiri cukup luas, di antaranya mencakup software aplikasi, database, arsip, workflow, dan alat bantu lainnya yang dapat dikelola sebagai bagian dari mekanisme jaringan informasi suatu perusahaan maupun global.
CMS (Content Management System) terbukti merupakan sebuah aset penting bagi perusahaan untuk mengelola content situs web dan portal secara efisien dan efektif. Saat ini, berbagai perusahaan mengkombinasikan content tak berstruktur dengan transaksi tradisional dan application logic untuk membangun aplikasi berbasis Web. Web application ini mewujudkan interaksi yang lebih personal dengan para user-nya, dan meningkatkan kinerja perusahaan dengan menyediakan layanan mandiri bagi para karyawan, partner, penyedia barang dan pelanggan. Aplikasi berbasis Web yang semakin berdaya, secara tidak langsung meningkatkan peranan dan pentingnya CMS sebagai bagian dari infrastruktur aplikasi perusahaan. Alhasil, pemilihan CMS yang akan diterapkan di perusahaan tidak bisa dianggap remeh.
Dengan adanya CMS yang terintegrasi dengan sebuah WebSite akan memberikan suatu nilai lebih yang akan meningkatkan fungsionalitas dan fleksibiltas dari Web Site tersebut, terlebih pada WebSite yang tujuan pemanfaatannya sebagai media promosi dan membangun citra konsumen, dimana kontinuitas dan inovasi dalam pemasaran produk-produk secara berkala dan berkesinambungan sebagai suatu hal yang memegang peranan penting dalam tercapainya target pemasaran.
Contoh-contoh CMS serta kelebihan dan kekurangannya : Drupal (open source) - Instalasi mudah - Bisa digunakan mulai dari jenis blog sampai portal - templatenya mudah di mengerti Kelemahan - modul-modul yang ada terkadang kurang compatible dengan versi2 drupal yang baru - forumnya tidak enak dilihat Joomla (open source) - Admin panel memang sedikit sulit pada awalnya, tetapi cukup user friendly untuk dipelajari - Support dari forum dan lain-lainnya sangat banyak seperti componen, module dan lain-lain - Bisa dikembangkan dari simple web sampai portal - Security tidak terlalu kuat Wordpress (open source) - Wordpress ini sekarang salah satu cms yang sangat populer di internet, dengan kemudahan yang diberikan - Umunya digunakan untuk blog, tapi bisa dikembangkan lebih, dengan support dan plugins yang sangat banyak. Snews (open source)
- Minimalis - Installasi cukup mudah - Hanya 1 file php dan tambahan template file - Isi lebih ke arah standar news, butuh pengembangan coding cukup rumit untuk tambahan fasilitas/modul karena semua dimasukkan dalam 1 file php. - URL friendly support - Template sangat mudah dimodifikasi - Digunakan untuk simple website, kurang tepat kalau untuk portal
Quick CMS (open source & commercial) - Instalasi mudah - Tidak perlu menggunakan database - Template terlalu standar/sederhana, pengembangan template cukup susah Quicksilver (opensource) - Instalasi mudah - Tampilan cukup menarik - MVC Framework - Stok template belum terlalu banyak Website Baker (opensource) - Instalasi mudah
- template yang disediakan cukup banyak dan mudah untuk dimodifikasi - Data content management mudah digunakan CMS Made Simple (opensource) - Instalasi mudah - Template bisa dimodifikasi melalui css nya - Module dan support cukup lengkap - File resource cukup besar AuraCMS (opensource) - Installasinya mudah - Admin panelnya mudah untuk digunakan - Pilihan template cukup banyak - Forumnya menggunakan bahasa indonesia. Subdreamer (commercial) Subdreamer merupakan cms commercial yang cukup populer dan sangat mudah digunakan mulai dari instalasi sampai penggunaannya. - admin panelnya mudah dipahami. - Support dari websitenya cukup bagus. - Template sangat mudah untuk dimodifikasi - Subdreamer sudah terbukti tangguh untuk portal besar dengan member hingga puluhan ribu.