Pengertian Framework
Assalamualaikum wr.wb
Pagi kawan, pada hari ini saya akan sharing tentang Framework
A. PENGERTIAN
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. Itu adalah salah satu contoh kecil, selebihnya Framework jauh lebih luas dari itu.
1.Framework PHP
• CakePHP
• Code Igniter (CI)
• Symphony
• Zend
• Yii
• Kohana
• Code Igniter (CI)
• Symphony
• Zend
• Yii
• Kohana
2. Framework Javascript
• JQuery
• Mootools
• Mootools
3. Framework Ruby
• Ruby on Rails (ROR)
B. Latar Belakang
Saat ini banyak sekali framework berbasis PHP, diantaranya yang paling populer adalah Zend Framework, Symphony, Prado, CakePHP, CodeIgniter dan lain-lain. Menurut beberapa survei, CodeIgniter adalah framework yang paling mudah dipelajari,karena keserhanaan strukturnya dan kelengkapan dokumentasinya yang baik. Selain itu, kerapiankode (clean and healthy code) dan ukurannya yang ramping membuatnya lebih cepat diaksesdibandingkan dengan frameworklainya.Perlu diketahui nyaris (bahkan mungkin semua) framework menggunakan konsep yangsama dalam membangun suatu aplikasi, yaitu konsep MVC (Model View Controller).Kesimpulannya, kalau kita memahami MVC, maka secara garis besar kigta sudah menguasaiframework, apapun jenis frameworknya. Dan satu lagi kuncinya, pemahaman terhadap OOP (Object Oriented Programming)akan sangat membantu dalam menguasai framework.10 Framework PHP Terbaik yang populer saat ini :
1. yii
2. Codeigniter
3. CakePHP
4. Zend
5. Symfony
6. PHP Dev Shell
7. Prado
8. Akelos
9. QPHP
10. ZooP
2. Codeigniter
3. CakePHP
4. Zend
5. Symfony
6. PHP Dev Shell
7. Prado
8. Akelos
9. QPHP
10. ZooP
C. Manfaat dan Tujuan
• Manfaatnya dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi bisa selesai dalam waktu yang singkat.
• Penerapan Design Patterns memudahkan dalam rancangan, pengembangan dan pemeliharaansistem.
• Stability dan Reliability aplikasi yang kita bangun lebih stabil dan handal karena berbasispada 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 berbagaimasalah keamanan yang mungkin timbul.
• Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apayang kita tulis
• Penerapan Design Patterns memudahkan dalam rancangan, pengembangan dan pemeliharaansistem.
• Stability dan Reliability aplikasi yang kita bangun lebih stabil dan handal karena berbasispada 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 berbagaimasalah keamanan yang mungkin timbul.
• Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apayang kita tulis
Kekurangan Framework
• Para programmer mungkin akan menemukan batasan-batasan ketika merancang aplikasimenggunakan framework.
• Kemungkinan akan menambah biaya development apabila framework yg digunakan kurangterdokumentasi dan kurang di support
• Performa dan kecepatan eksekusi
• Para programmer mungkin akan menemukan batasan-batasan ketika merancang aplikasimenggunakan framework.
• Kemungkinan akan menambah biaya development apabila framework yg digunakan kurangterdokumentasi dan kurang di support
• Performa dan kecepatan eksekusi
Kelebihan framework antara lain sebagai berikut :
1. Ringan dan cepat. Framework hanya melakukan pemanggilan pustaka/kelas yangdibutuhkan 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 bagiantampilan, logika dan query database telah dipecah sedemikian rupa.
3. Mayortitas mendukung berbagai jenis database.
Kesimpulan:
Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaandidukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.
Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaandidukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.
D. CONTOH-CONTOH FRAMEWORK1. CodeIgniterCodeIgniter (CI)
Sebuah framework untuk programmer yang ingin membangun websitedengan PHP. CI merupakan langkah cepat untuk membuat sebuah website daripadamembangun sebuah website dengan alur koding yang biasa. Dengan mempaketkan library-library, alur pemrograman akan terstruktur dan logika bisnis/proses akan lebih mudahdimengerti oleh developer/programmer lain. CI telah mempaketkan itu semua sehinggamampu meminimalisirkan jumlah koding yang dibangun.
Kelebihan dari CodeIgniter
1. Gratis
CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, iniberarti kita dapat menggunakannya sesuai dengan keinginan kita.
2. Berjalan di PHP versi 4 dan 5
Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yangtetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar tetapkompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5.
3. Ringan dan cepat.Secara default CodeIgniter hanya berjalan dengan me load beberapa pustaka saja, dengandemikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepatdijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa di load sesuaidengan kebutuhan.
4. Menggunakan MVC.CodeIgniter menggunakan lingkungan pengembangan dengan metode Model ViewController (MVC) yang membedakan antara logika dan presentasi/tampilan, sehinggatugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan danbagian yang membuat core programnya.
5. Dokumentasi.Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgnitersangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang adadalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nyatersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajarilingkungan pengembangan website dengan CodeIgniter.
Pustaka yang lengkap.CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnyasaja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.
Kelebihan dari CodeIgniter
1. Gratis
CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, iniberarti kita dapat menggunakannya sesuai dengan keinginan kita.
2. Berjalan di PHP versi 4 dan 5
Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yangtetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar tetapkompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5.
3. Ringan dan cepat.Secara default CodeIgniter hanya berjalan dengan me load beberapa pustaka saja, dengandemikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepatdijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa di load sesuaidengan kebutuhan.
4. Menggunakan MVC.CodeIgniter menggunakan lingkungan pengembangan dengan metode Model ViewController (MVC) yang membedakan antara logika dan presentasi/tampilan, sehinggatugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan danbagian yang membuat core programnya.
5. Dokumentasi.Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgnitersangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang adadalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nyatersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajarilingkungan pengembangan website dengan CodeIgniter.
Pustaka yang lengkap.CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnyasaja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.
1. CODEIGNITER
Framework CodeIgniter merupakan framework pengembangan aplikasi web yang menggunakanPHP. Tujuan dari CodeIgniter adalah untuk memberikan kesempatan kepada orang untuk membuat web lebih cepat dibanding apabila dilakukan dari nol (from scratch) dengan menyediakan sekumpulan library untuk mengerjakan proses-proses yang biasa dilakukan,disertai dengan interface dan struktur logika yang sederhana untuk mengakses
library
ini.
Beberapa keuntungan yang didapat dari CodeIgniter diantaranya adalah:
• CodeIgniter ini merupakan framework yang gratis, dimana kita bisa mengunduh danmenginstallnya tanpa harus membayar.
• CodeIgniter ini sangat ringan, dimana system utamanya hanya memerlukan sedikit sekali library. Berbeda dengan kebanyakan framework yang membutuhkan resources yang lebih banyak. Library tambahan dapat ditambahkan secara dnamis berdasarkan permintaan sehingga system dasar sangat kecil dan cepat.
• Framework telah banyak dibuktikan sebagai framework yang cepat dibandingkankebanyakan framework PHP yang ada.
• CodeIgniter menggunakan pendekatan konsep Model-Visual-Controller (MVC),sehingga pengembangan aplikasi menjadi lebih teratur dan terstruktur.
• CodeIgniter dapat menghasilkan URL yang bersih.
• CodeIgniter datang dengan sekumpulan library yang biasanya dibutuhkan untuk mengembangkan website, misalnya untuk mengakses database, mengirim email,memvalidasi form data, memelihara session, memanipulasi gambar, dan sebagainya.
• CodeIgniter dapat dengan mudah diperluas kemampuannya sesuai dengan yang kitainginkan melalui penggunaan plugin dan helper.Kekurangannya :
• Tidak mendukung AJAX, dan ORM
• Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikankebebasan user untuk melanggar aturan MVC
library
ini.
Beberapa keuntungan yang didapat dari CodeIgniter diantaranya adalah:
• CodeIgniter ini merupakan framework yang gratis, dimana kita bisa mengunduh danmenginstallnya tanpa harus membayar.
• CodeIgniter ini sangat ringan, dimana system utamanya hanya memerlukan sedikit sekali library. Berbeda dengan kebanyakan framework yang membutuhkan resources yang lebih banyak. Library tambahan dapat ditambahkan secara dnamis berdasarkan permintaan sehingga system dasar sangat kecil dan cepat.
• Framework telah banyak dibuktikan sebagai framework yang cepat dibandingkankebanyakan framework PHP yang ada.
• CodeIgniter menggunakan pendekatan konsep Model-Visual-Controller (MVC),sehingga pengembangan aplikasi menjadi lebih teratur dan terstruktur.
• CodeIgniter dapat menghasilkan URL yang bersih.
• CodeIgniter datang dengan sekumpulan library yang biasanya dibutuhkan untuk mengembangkan website, misalnya untuk mengakses database, mengirim email,memvalidasi form data, memelihara session, memanipulasi gambar, dan sebagainya.
• CodeIgniter dapat dengan mudah diperluas kemampuannya sesuai dengan yang kitainginkan melalui penggunaan plugin dan helper.Kekurangannya :
• Tidak mendukung AJAX, dan ORM
• Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikankebebasan user untuk melanggar aturan MVC
2. SYMFONY
Symfony adalah framework web yang ditujukan untuk PHP 5. Selain itu Symfony jugakompatibel dengan berbagai sistem database. Sama seperti CakePHP dan CodeIgniter, Symfonyjuga menganut arsitektur MVC (Model View Controller).Dukungan untuk AJAX juga tersedia di framework Symfony ini. Dokumentasi yang disediakancukup baik. Mungkin yang menjadi persoalan adalah proses instalasi dan konfigurasi cukuprumit bila dibandingkan dengan framework sebelumnya.
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.” inimenjadi kelebihan sekaligus kekurangan.Kekurangan
– Tidak mendukung PHP4.
– Relatif butuh waktu lama untuk mengerti framework ini.
– Instalasi dan konfigurasinya cukup rumit
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.” inimenjadi kelebihan sekaligus kekurangan.Kekurangan
– Tidak mendukung PHP4.
– Relatif butuh waktu lama untuk mengerti framework ini.
– Instalasi dan konfigurasinya cukup rumit
3. ZEND FRAMEWORK
Zend Framework sebagai media yang memudahkan membuat website.Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend Framework iniadalah untuk membangun aplikasi berbasis Web 2.0 dan untuk memudahkan dalam mengaksesAPI dari berbagai vendor seperti Google, Amazon, Yahoo! , dan Flickr.Tidak mengherankan jika Zend Framework menyediakan berbagai modul yang spesifik untuk Web 2.0, seperti AJAX, Syndication, Search, dan Web Services.
Kelebihannya :
– Dukungan terhadap AJAX, ORM.
– Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari ZendFramework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkandalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr.
Kekurangannya :
– 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 sudahsangat tinggi.
– JQuery
Kelebihannya :
– Dukungan terhadap AJAX, ORM.
– Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari ZendFramework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkandalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr.
Kekurangannya :
– 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 sudahsangat tinggi.
– JQuery
JQuery adalah framework sekaligus kumpulan script-script yang berguna untuk membuat webmenjadi 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 cukupsulit untuk dipelajari, paling tidak harus mengenal javascript dan konsep OOP.
JQuery ini memiliki keunggulan pluginable,artinya JQuery bisa ditambahi dengan berbagai plugin. Sayangnya JQuery ini cukupsulit 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 skaladan tujuan pembuatan ajax framework
tersebut. Ada banyak ukuran ajax framework, dari yangpaling sederhana sampai rumit.
Jadi dengan menggunakan ajax framework
tersebut andaHANYA 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 andahanya mampu menjalankan aksi tersebut, kecuali anda merubah ajax framework nya.
tersebut. Ada banyak ukuran ajax framework, dari yangpaling sederhana sampai rumit.
Jadi dengan menggunakan ajax framework
tersebut andaHANYA 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 andahanya mampu menjalankan aksi tersebut, kecuali anda merubah ajax framework nya.
Keuntungan Menggunakan ajax framework
Ada banyak keuntungan menggunakan ajax framework
diantara menghemat pikiran dantenaga, kenapa? anda tidak perlu pusing-pusing hanya karena membuat rutin-rutin ajax, serahkansaja 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 menggunakan ajax framework
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 yangbanyak. file dengan banyak baris tersebut di-include-kan pada halaman awal, maka dibutuhkanwaktu khusus untuk mendownload file ajax framework tersebut.
Ada banyak keuntungan menggunakan ajax framework
diantara menghemat pikiran dantenaga, kenapa? anda tidak perlu pusing-pusing hanya karena membuat rutin-rutin ajax, serahkansaja 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 menggunakan ajax framework
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 yangbanyak. file dengan banyak baris tersebut di-include-kan pada halaman awal, maka dibutuhkanwaktu khusus untuk mendownload file ajax framework tersebut.
E. Referensi
Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaandidukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.
Yak, itu tadi penjelasan singkat tentang Framework, jangan lupa untuk kunjungi terus blog saya untuk mengetahui kelanjutan materi ini Sekian Termiakasih
Wassalamualaikum wr.wb