ISTILAH FRAMEWORK, JENIS, KELEBIHAN DAN KEKURANGANnya

Apa itu 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 membangun aplikasi.

Bisa juga dikatakan Framework adalah komponen pemrorgaman yang siap re-use kapan saja, 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. Itu adalah salah satu contoh kecil, selebihnya Framework jauh lebih luas dari itu.

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)

Manfaat Framework
Manfaatnya dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi bisa selesai dalam waktu yang singkat.
Penerapan Design Patterns memudahkan dalam rancangan, pengembangan dan pemeliharaan sistem
Stability dan Reliability, aplikasi yang kita bangun lebih stabil dan handal karena berbasis pada framework yang sudah teruji stabilitas dan kehandalannya.
Coding Style konsisten, memudahkan dalam membaca kode dan dalam menemukan bugs
Security Concern, framework mengantisipasi dan memasang perisai terhadap adanya berbagai masalah keamanan yang mungkin timbul
Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apa yang kita tulis.

Contoh:
Di dalam Framework tersedia library “pagination“ misalnya, yang mana dalam class tersebut terdapat fungsi yang memberikan nilai balik(return) link ke halaman berikutnya, sebelumnya, awal, akir dll. nah dalam pengembangan system kita bisa menggunakan class Pagination ini untuk semua proses yang membutuhkan adanya Pagination. ini adalah sebagian kecil dari contoh library yang disediakan oleh framework.
Namun framework sendiri kelebihan utamanya bukan dari seberapa banyak library yang di sediakan, meski hal itu tentunya akan sangat membantu proses development. Kelebihan yang bisa kita ambil dari framework adalah kerangka kerja dari framework tersebut dalam menyelesaikan modul-modul yang dikembangkan sehinga mengeluarkan sebuah metode pekerjaan yang lebih effisien, lebih rapi, lebih bersifat general, dan lebih homogen.

Kelebihan

Pertama kelebihan dengan adanya framework akan lebih mempermudah memahami mekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat membantu proses pengembangan system yang dilakukan secara team. Semua anggota di wajibkan untuk memahami dari pola kerja framework tersebut selebihnya anggota team hanya mempelajari proses bisnis yang di kehendaki oleh system untuk kemudian di tuangkan kedalam framework tersebut. Dalam artian setiap orang harus 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 ini misalnya semakin banyak library yang ada semakin mempercepat anggota untuk menemukan solusi karena tidak setiap anggota harus membuat Class atau fungsi untuk kasus yang relatif sama.

Berikutnya Team tidak akan di susahkan dengan adanya perputaran anggota dalam artian jika ada anggota yang tidak bisa melanjutkan lagi pekerjaannya anggota yang lain bisa meng-cover kekosongan tersebut. Bayangkan jika setiap modul yang dikembangkan mempunyai logika yang berbeda tentunya akan memakan waktu yang banyak untuk proses pemahan akan system tersebut.

Kesekian-kalinya dengan adanya framework akan menjaga integritas dari modul-modul yang dikembangkan. Tentunya hal ini juga tergantung dari metode yang dikembangkan sendiri. framework hanya membantu dan memungkinkan/mempermudah proses integrasi, tidak berarti dengan adanya framework system otomatis akan ter-integrasi. Dan masih ada kelebihan-kelebihan lain yang dimiliki oleh framework.

Kekurangan 
1.Para programmer mungkin akan menemukan batasan-batasan ketika merancang aplikasi menggunakan framework
2.Kemungkinan akan menambah biaya development apabila framework yg digunakan kurang terdokumentasi dan kurang di support
3.Performa dan kecepatan eksekusi
 
Kesimpulan : Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaan didukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.

Contoh Framework
1. JQuery 
JQuery adalah framework sekaligus kumpulan script-script yang berguna untuk membuat web menjadi lebih interaktif, terlihat powerfull dan animasi yang bagus. Jquery ditulis dengan menggunakan javascript sebagai sebuah file tunggal. JQuery ini memiliki keunggulan pluginable,artinya JQuery bisa ditambahi dengan berbagai plugin. Sayangnya JQuery ini cukup sulit untuk dipelajari, paling tidak harus mengenal javascript dan konsep OOP.

2. Ajax 

Dengan menggunakan ajax framework anda tidak perlu lagi membuat script ajax. Tetapi apa yang dimaksud dengan ajax framework? adalah lingkungan pengembangan aplikasi ajax, didalamnya berisi sejumlah fungsi yang bisa digunakan untuk membangun aplikasi ajax. misalkan fungsi request data, mengirim data melalui form, meload halaman dll, tergantung skala dan tujuan pembuatan ajax framework tersebut. Ada banyak ukuran ajax framework, dari yang paling sederhana sampai rumit. Jadi dengan menggunakan ajax framework tersebut anda HANYA menggunakan fungsi yang sudah tersedia untuk mengembangkan web anda. Nantinya aplikasi yang dihasilkan akan sesuai dengan kemampuan framworknya. Jika ajax framework yang anda pilih hanya bisa mengirim data lewat form, dan merequest data, maka aplikasi anda hanya mampu menjalankan aksi tersebut, kecuali anda merubah ajax frameworknya.

Keuntungan
Ada banyak keuntungan menggunakan ajax framework, diantara menghemat pikiran dan tenaga, kenapa? anda tidak perlu pusing-pusing hanya karena membuat rutin-rutin ajax, serahkan saja pada ajax framework. Anda tinggal menggunakannya saja. Dan yang perlu diperhatikan ajax framework biasanya sudah dites, artinya kemungkinan ada bug kecil, jika nanti ditemukan, anda tinggal mengupdate ajax frameworknya saja. Keuntungan lain, aplikasi yang anda buat lebih terstruktur, stabil dan mudah dikembangkan.

Kekurangan
Selain kelebihan ada juga kekurangan. Jika anda tidak pintar memilih ajax framework, bukan kecepatan aplikasi yang anda dapatkan, malah aplikasi anda terasa lambat, berat untuk diakses, kenapa? sebagian ajax framework memiliki ukuran yang besar dengan jumlah baris kode yang banyak. file dengan banyak baris tersebut di-include-kan pada halaman awal, maka dibutuhkan waktu khusus untuk mendownload file ajax framework tersebut. Saya sempat ragu ketika menggunakan ajax framework yang melebihi 100kb, karena saya pikir aplikasi saya menjadi lebih lambat. Lebih bagus memang, tetapi bagi saya tujuan penggunakan ajax sendiri adalah untuk mempercepat proses browsing, kalau menggunakan ajax framework malah lebih lambat, ya sama saja.

3. CodeIgniter 
CodeIgniter (CI) sebuah framework untuk programmer yang ingin membangun website dengan PHP. CI merupakan langkah cepat untuk membuat sebuah website daripada membangun sebuah website dengan alur koding yang biasa. Dengan mempaketkan library-library, alur pemrograman akan terstruktur dan logika bisnis/proses akan lebih mudah dimengerti oleh developer/programmer lain. CI telah mempaketkan itu semua sehingga mampu meminimalisirkan jumlah koding yang dibangun.

Kelebihan dari CodeIgniter

Gratis
CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita.
Berjalan di PHP versi 4 dan 5.
Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang tetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5. 

Ringan Dan Cepat
Secara default CodeIgniter hanya berjalan dengan me load beberapa pustaka saja, dengan demikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa di load sesuai dengan kebutuhan. 

Menggunakan MVC
CodeIgniter menggunakan lingkungan pengembangan dengan metode Model View Controller (MVC) yang membedakan antara logika dan presentasi/tampilan, sehingga tugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya.

Dokumentasi
Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada dalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nya tersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.
 
Pustaka Lengkap
CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.


Previous
Next Post »