WEB APPICATION FRAMEWORK
Sebelum mengenal lebih jauh mengenai Web Application Framework, ada
baiknya kita mengetahui apa yang dimaksud dengan Framework. Framework adalah sekumpulan perintah/fungsi dasar yang dapat membantu
dalam menyelesaikan proses-proses yang lebih kompleks, menangani berbagai
masalah dalam pemrograman seperti koneksi database, pemanggilan variable, dll. Sehingga developer lebih
fokus dan lebih cepat membangun aplikasi. Secara sederhana dapat
dijelaskan bahwa framework adalah kumpulan fungsi-fungsi yang sudah ada
sehingga programmer tidak perlu lagi membuat fungsi-fungsi (kumpulan library) dari awal, yang tentunya
tinggal memanggil kumpulan library tersebut
didalam framework. Fungsi-fungsi standar yang telah tersedia dalam suatu
framework adalah fungsi paging,
enkripsi, email, SEO, session, security, kalender, bahasa, manipulasi
gambar, grafik, tabel bergaya zebra, validasi, upload, captcha, proteksi
terhadap XSS (XSS filtering), template, kompresi, XML dan lain-lain.
Web Application Framework merupakan suatu kerangka kerja perangkat lunak
yang dirancang untuk mendukung pengembangan situs dinamis, aplikasi berbasis
web atau web service. Framework ini bertujuan untuk mengurangi overhead yang terkait dengan kegiatan
umum yang biasa dilakuan dalam pengembangan web. Sebagai contoh, banyak
kerangka yang menyediakan kumpulan class untuk
mengakses database, template kerangka kerja dan
manajemen sesi (session)
dan kode bisa digunakan kembali (reusable).
Pada intinya Web Application Framework dapat di jelaskan sebagai software
framework yang didesain untuk mendukung pengembangan web dinamis, aplikasi web
dan web service.
Dari sekian banyak Web Application Framework yang beredar luas, ada 6
Web Appication Framework yang paling sering digunakan oleh programmer, antara
lain:
1. CakePHP
Framework ini mengusung konsep arsitektur MVC (Model-View-Controller) dan juga ORM (Object Relation Mapping). Aplikasi yang dibangun (build) dengan CakePHP bisa dijalankan/di-running di PHP4 ataupun PHP5. Dalam koneksi database framework ini mensupport MySQL, SQLLITE, PGSql, DB2 dan juga Oracle. Framework ini menyediakan modul tambahan berupa otentifikasi user, security, access control list sehingga memungkinkan membangun aplikasi dengan cepat. Selain itu CakePHP juga sudah mendukung javascript, AJAX, XML dan RSS dan email yang sudah terintegrasi dalam library-nya. Namun support dokumentasi untuk framework ini masih kurang lengkap, meskipun begitu komunitas pengguna CakePHP semakin berkembang dengan pesat.
Framework ini mengusung konsep arsitektur MVC (Model-View-Controller) dan juga ORM (Object Relation Mapping). Aplikasi yang dibangun (build) dengan CakePHP bisa dijalankan/di-running di PHP4 ataupun PHP5. Dalam koneksi database framework ini mensupport MySQL, SQLLITE, PGSql, DB2 dan juga Oracle. Framework ini menyediakan modul tambahan berupa otentifikasi user, security, access control list sehingga memungkinkan membangun aplikasi dengan cepat. Selain itu CakePHP juga sudah mendukung javascript, AJAX, XML dan RSS dan email yang sudah terintegrasi dalam library-nya. Namun support dokumentasi untuk framework ini masih kurang lengkap, meskipun begitu komunitas pengguna CakePHP semakin berkembang dengan pesat.
2. CodeIgniter
CodeIgniter adalah sebuah framework aplikasi untuk membuat halaman atau aplikasi web berbasis PHP, dengan menggunakan framework ini, programmer tidak perlu mengetik ratusan baris kode untuk membangun sebuah aplikasi. Selain mudah digunakan, framework ini juga sangat cepat dan ringan. Dokumentasinya yang lengkap membuat framework ini mudah untuk dipelajari oleh pemula. CodeIgniter hampir memiliki kesamaan dengan CakePHP, framework ini mengusung konsep arsitektur MVC, namun framework ini belum mendukung ORM, Codeigniter menyediakan banyak sekali modul yang berguna di pengembangan web seperti session management, email, security (anti Xsrf), file management, image management dan XMLRPC. Keunggulan dari aplikasi besutan Ellislab ini adalah dokumentasi yang banyak dan lengkap serta terorganisis dengan baik sehingga framework ini mudah dipelajari, bersifat open source dan didukung oleh komunitas yang besar, selain itu bahasa yang digunakan juga lebih mudah dipahami dibandingkan cakePHP.
CodeIgniter adalah sebuah framework aplikasi untuk membuat halaman atau aplikasi web berbasis PHP, dengan menggunakan framework ini, programmer tidak perlu mengetik ratusan baris kode untuk membangun sebuah aplikasi. Selain mudah digunakan, framework ini juga sangat cepat dan ringan. Dokumentasinya yang lengkap membuat framework ini mudah untuk dipelajari oleh pemula. CodeIgniter hampir memiliki kesamaan dengan CakePHP, framework ini mengusung konsep arsitektur MVC, namun framework ini belum mendukung ORM, Codeigniter menyediakan banyak sekali modul yang berguna di pengembangan web seperti session management, email, security (anti Xsrf), file management, image management dan XMLRPC. Keunggulan dari aplikasi besutan Ellislab ini adalah dokumentasi yang banyak dan lengkap serta terorganisis dengan baik sehingga framework ini mudah dipelajari, bersifat open source dan didukung oleh komunitas yang besar, selain itu bahasa yang digunakan juga lebih mudah dipahami dibandingkan cakePHP.
3. Kohana
Kohana adalah framework PHP 5 yang menggunakan pola arsitektur Model View Controller (MVC). Keamanan, bobot dan kesederhanaanya menjadikan banyak programmer menggunakan aplikasi ini. MVC membuat logika aplikasi terpisah dari presentasi. Hal ini memungkinkan programmer untuk membuat kode lebih rapi dan menghemat waktu untuk mencari bug. Pada awalnya framework ini merupakan pengembangan dari CodeIgniter, ada kesamaan antara CI dengan Kohana, namun semua script di Kohana telah ditulis ulang.
Kohana adalah framework PHP 5 yang menggunakan pola arsitektur Model View Controller (MVC). Keamanan, bobot dan kesederhanaanya menjadikan banyak programmer menggunakan aplikasi ini. MVC membuat logika aplikasi terpisah dari presentasi. Hal ini memungkinkan programmer untuk membuat kode lebih rapi dan menghemat waktu untuk mencari bug. Pada awalnya framework ini merupakan pengembangan dari CodeIgniter, ada kesamaan antara CI dengan Kohana, namun semua script di Kohana telah ditulis ulang.
4. Simphony
Symfony Framework adalah salah satu Framework PHP yang dibuat untuk mempercepat proses development sebuah website atau aplikasi berbasis web. Framework ini ditujukan untuk pengguna PHP5DAN mendukung berbagai koneksi database. Seperti framework yang disebutkan diatas, simphony juga mengusung konsep arsitektur MVC dan teknologi AJAX sudah terintegrasi di framework ini. Dalam hal dokumentasi, simphony telah memberikannya dengan cukup baik, namun yang menjadi kekurangan adalah proses installasi yang lebih rumit dibandingkan dengan cakePHP dan CodeIgniter.
Symfony Framework adalah salah satu Framework PHP yang dibuat untuk mempercepat proses development sebuah website atau aplikasi berbasis web. Framework ini ditujukan untuk pengguna PHP5DAN mendukung berbagai koneksi database. Seperti framework yang disebutkan diatas, simphony juga mengusung konsep arsitektur MVC dan teknologi AJAX sudah terintegrasi di framework ini. Dalam hal dokumentasi, simphony telah memberikannya dengan cukup baik, namun yang menjadi kekurangan adalah proses installasi yang lebih rumit dibandingkan dengan cakePHP dan CodeIgniter.
5. Zend
Framework
Zend Framework adalah adalah framework open source dan berkualitas tinggi
untuk membangun aplikasi web dan web service dengan PHP. Framework ini
dikhususkan untuk pengembangan aplikasi web 2.0 dan untuk mempermudah dalam
mengakses API dari situs2 besar seperti google, facebook, yahoo, flickr dsb.
Sehingga tidak mengherankan kalau framework ini dibekali modul2 web 2.0,
syndication, AJAX, web services, dan search.
6. Yii
Framework
Yii adalah kerangka kerja PHP berbasis-komponen dengan performa
tinggi untuk pengembangan aplikasi Web berskala-besar. Ia menyediakan
resuabilitas maksimum dalam pemrograman Web dan bisa mengakselerasi proses
pengembangan secara signifikan. Kelebihan Yii
melampaui PHP framework lain dalam hal efisiensi, lebih banyak fitur dan di dokumentasikan
dengan jelas. Yii didesain dengan hati-hati dari awal agar sesuai untuk
pengembangan aplikasi Web secara serius. Yii bukan berasal dari produk pada
beberapa proyek maupun konglomerasi pekerjaan pihak ketiga. Yii adalah hasil
dari pengalaman kaya para pembuat pada pengembangan aplikasi Web dan
investigasi serta refleksi kerangka kerja pemrograman Web paling populer dan
aplikasi.
Framework .NET adalah suatu
komponen windows yang terintegrasi dan dibuat dengan tujuan untuk mendukung (men-support) pengembangan berbagai macam
jenis aplikasi serta untuk dapat mejalankan berbagai macam aplikasi generasi
mendatang termasuk pengembangan aplikasi Web Services XML. Framework .NET di
desain untuk dapat memenuhi beberapa tujuan berikut ini :
1.
Menyediakan environment kerja yang konsisten bagi
bahasa pemrograman yang berorientasi objek (object
oriented programming – OOP) baik kode objek itu di simpan dan di eksekusi
secara lokal, atau dieksekusi secara lokal tapi didistribusikan melalui
internet atau dieksekusi secara remote.
2.
Menyediakan environment kerja di dalam mengeksekusi
kode yang dapat meminimaliasi proses software
deployment dan menghindari konflik
penggunaan versi software yang di
buat.
3.
Menyediakan environment kerja yang aman dalam hal
pengeksekusian kode, termasuk kode yang dibuat oleh pihak ketiga (third party).
4.
Menyediakan environment kerja yang dapat mengurangi
masalah pada persoalan performa dari kode atau dari lingkungan interpreter nya.
5.
Membuat para developer lebih mudah mengembangkan
berbagai macam jenis aplikasi yang lebih bervariasi, seperti aplikasi berbasis
windows dan aplikasi berbasis web.
6.
Membangun semua komunikasi yang ada di dalam standar
industri untuk memastikan bahwa semua kode aplikasi yang berbasis Framework
.NET dapat berintegrasi dengan berbagai macam kode aplikasi lain.
Microsoft
.NET Framework adalah sebuah komponen yang dapat ditambahkan ke sistem operasi
Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows
Server 2003 dan versi-versi Windows terbaru). Kerangka kerja ini menyediakan
sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum
suatu program baru dan mengatur eksekusi program-program yang ditulis secara
khusus untuk framework ini. Framework .NET adalah kunci penawaran utama dari
Microsoft dan diperuntukkan untuk digunakan oleh sebagian besar
aplikasi-aplikasi baru yang dibuat untuk platform Windows.
Umumnya
komputer hanya memiliki satu bahasa yaitu (assembly), maka ketika mengembangkan sebuah
aplikasi dengan bahasa .Net komputer tidak akan memahami bahasa tersebut. Oleh
sebab itu diperlukan sebuah software (penerjemah) untuk bisa
menjalankannya. Ada beberapa software
tidak bisa berjalan dengan baik (error)
pada sebuah komputer, apabila bahasa yang digunakannya berbeda dan ini adalah
kegunaan dari .Net Framework sebagai penerjemah bahasa tersebut.
Dapat disimpulkan bahwa fungsi utama dari .Net Framework yaitu sebagai
penerjemah atau mengeksekusi sebuah software agar dapat dijalankan.
Tambahan (Kata yang mungkin sulit dipahami):
1. AJAX adalah singkatan dari Asynchronous JavaScript dan XML, yang
merupakan istilah yang menggambarkan
sebuah teknik pengembangan web untuk menciptakan aplikasi web interaktif
menggunakan kombinasi: HTML (atau XHTML) dan Cascading Style Sheets untuk Informasi Dokumen Model dan menyajikan Obyek.
2. Remote
Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah
prosedur yang berada di komputer lain.
3. MVC
(Model
View
Controller) adalah sebuah pola pemrograman dengan memisahkan antara data
(model), proses (controller) dan
tampilan (view). Keuntungan
menggunakan konsep ini adalah kemudahan dalam maintenance dan pengembangan
lebih lanjut dalam sebuah aplikasi.
4. ORM
(Object Relation Mapping) meruupakan sebuah teknik pemrograman yang memetakan sebuah objek
dengan database. ORM akan menjadi penghubung antara objek yang didefinisikan
dalam kode program dengan database, bagaimana objek itu disimpan, diambil,
dihapus dan sebagainya. Dengan ORM, programmer dibantu untuk melakukan
aksi-aksi yang diperlukan terkait komunikasi objek ketika program dijalankan
dengan database seperti menyimpan objek, mengambil data objek dari database
kemudian ditampilkan, menghapus objek, mengubah objek dan sebagainya.
5. SEO
adalah kependekan dari Search Engine Optimization, suatu teknik
agar website yang kita buat mudah ditemukan melalui search engine seperti
Google.
6. XML
RPC adalah salah satu bentuk sederhana implementasi teknologi RPC yang
menggunakan XML sebagai type marshalling
serta HTTP sebagai protokol transport dan pengalamatan servernya.
7. XSS
merupakan suatu cara untuk memasukan
/ menginjeksikan kode-kode HTML ke suatu situs dengan menggunakan browser.
Teknik ini umumnya digunakan oleh attacker untuk diberikan ke target untuk
membuka dengan tujuan yang beragam misalnya untuk social engineering.
0 komentar:
Posting Komentar