Konsep Framework
PENGERTIAN FRAMEWORK
Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulan
script (terutama class dan function) yang dapat membantu developer/programmer dalam
menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database,
pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih cepat
membangunaplikasi.Bisa juga dikatakan Framework adalah komponen pemrorgaman yang
siap re-use kapansaja, sehingga programmer tidak harus membuat skrip yang sama untuk
tugas yang sama.Misalkan saat anda membuat aplikasi web berbasis ajax yang setiap kali
harus melakukan XMLHttpRequest, maka Xajax telah mempurmudahnya untuk anda dengan
menciptakan sebuah objek khusus yang siap digunakan untuk operasi Ajax berbasis PHP.
Macam-macam framework
1.Framework PHP
CakePHP
Code Igniter (CI)
Symphony
Zend
Yii
Kohana
2. Framework Javascript
JQuery
Mootools
3. Framework Ruby
Ruby on Rails (ROR)
2. Fitur Framework
MVC
Model View controller adalah konsep mengembangkan aplikasi
yang memisah antar user interface (view) dengan Aksi (controller)
dan operasi database (model). Dengan pemisahan ini, maka code
Scaffolding (CRUD)
Scaffolding fitur yang berhubungan dengan operasi CRUD (Create,
retrive,udpate,delete) database. Jika suatu framework sudah
mendukung Scaffolding, maka proses proses yang berhubungan
dengan database sangat cepat dibuat, bahkan bererapa
framework akan membuatkan secara otomatis untuk anda. Fitur
Scaffolding ada hampir disetiap framework PHP, namun
Framework yang mempunyai kemampuan membuatkan code
untuk pengolahan database untuk anda adalah Yii Framework.
Ajax
Ajax adalah teknologi yang memungkinkan transfer data antara
browser dengan server terjadi dibelakang layar. Dengan ajax,
website anda lebih interaktif dan responsif. Framewwork yang
sudah mendukung ajax adalah Zend, Yii, cakePHP dan Code
Igniter, namun implementasi ajax untuk masing masing
framework berbeda beda, ada yang menggunakan Library
Javascript pihak ketiga seperti jQuery ada juga yang builtin
terintegrasi framework.
Form Validation
Validasi form adalah teknik pengecekan input data user .
contohnya apakah textfield tidak boleh kosong, input harus
angka, input harus email dan sebagainya. Sebagian besar
framework sudah mengimplementasikan fitur ini. Manfaatnya
bagi programmer akan sangat terasa karena tidak perlu lagi
membuat code validasi.
Caching
Caching adalah teknik menyimpan halaman atau data yang
diambil dari database ke memory atau ke folder temporary di
server. Tujuannya, jika ada user lain yang meminta data yang
sama, controller tidak perlu mengambil ke database, tapi
Security
Security disini sangat luas, namun intinya adalah mengamankan
server, code, data dan aplikasi dari input yang itdak valid atau
akses dari pihak yang tidak bertanggung jawab. Teknik
pengamanan masing-masing framework berbeda . Ada yang
hanya mendukung akses control list (autorisasi), ada yang
menekankan pada SQL injection dan ada yang mengamankan dari
berbagai sisi lainnya. Intinya makin banyak fitur kemanannya
makin bagus frameworknya, namun makin komplek sistem dan
librarynya.
Template
Template digunakan untuk membuat tampilan konsisten, cantik
dan standar. Beberapa framework membuat templatenya sendiri,
namun ada juga framework yang memanfaatkan template dari
project lain seperti Smarty atau QFrom. Beberapa framework
membuat fitur ini makin canggih, misalkan dukungan terhadap
thema(mirip dengan fitur WordPress atau Joomla).
3. Performansi Framework
Requests per second from Apache Benchamrk with c=20 and n=500.
Framework
Phalcon
Slim
Kohana
Code Igniter
Silex
Laravel
YII
Fuel PHP
Req/Sec
822.96
399.83
217.34
187.78
179.01
135.9
123.5
116.34
Framework
Hazaar MVC
Zend 1
Cake PHP
Nette
Symfony2
Zend 2
Req/Sec
103.53
103.02
54.97
53.48
39.22
36.1
Im not surprised, Slim is the fastest because its a micro framework. The Quick
Start project didnt use any templates or layout which obviously contributed to
the reading.
Zend1 is twice faster than Symfony2 and Zend2 but in my experience the
number will quickly go down in a real live setup.
4. Keunggulan Framework
Pertama kelebihan dengan adanya framework akan lebih mempermudah
memahamimekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat
membantu proses pengembangansystem yang dilakukan secara team. Semua
anggota di wajibkan untuk memahami dari pola kerjaframework tersebut
selebihnya anggota team hanya mempelajari proses bisnis yang di
kehendakioleh system untuk kemudian di tuangkan kedalam framework
tersebut. Dalam artian setiap orangharus mempunyai metode yang sama dalam
menyelesaikan applikasi tersebut.
Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu
applikasi,karena setiap anggota sudah memiliki sebuah acuan dalam
menyelesaikan modul. Dalam hal inimisalnya semakin banyak library yang ada
Performa Lambat
Membutuhkan skill PHP yang sangat tinggi,
sehingga untuk komentar kepada pemula yang ingin belajar Framework PHP:
Jika ingin belajar Framework, gunakan lah CodeIgniter terlebih dahulu.
Jika CodeIgniter sudah Anda kuasai, beralihlah kepada Framework CakePHP (maka disitu Anda
akan mengetahui kelemahan CodeIgniter).
Jika Anda telah menguasai CakePHP, beralihlah kepada Zend Framework (karena Zend merupakan
Framework yang memiliki sertifikat International yang telah diakui oleh seluruh dunia).
6. Prospek Masa Depan
7. Contoh Framework yang menggunakan (tulisankan domainnya & capture homepagenya)
alamat web : http://www.express.co.uk/