Search This Blog

Thursday, July 28, 2011

Pengertian Framework

: PHP Framework – Pilih mana yaaa ???


Framework dapat disederhanakan sebagai alat yang digunakan untuk membantu pekerjaan. Karena untuk pembuatan website maka framework adalah alatnya untuk mempermudah pembuatan website.
Code Igniter
CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you’re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks
Choose Me If :
  • You want a framework with a small footprint.
  • You need exceptional performance.
  • You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.
  • You want a framework that requires nearly zero configuration.
  • You want a framework that does not require you to use the command line.
  • You want a framework that does not require you to adhere to restrictive coding rules.
  • You are not interested in large-scale monolithic libraries like PEAR.
  • You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
  • You eschew complexity, favoring simple solutions.
  • You need clear, thorough documentation.
Zend Framework
Zend Framework is an open source, object oriented web application framework for PHP 5. Zend Framework is often called a ‘component library’, because it has many loosely coupled components that you can use more or less independently. But Zend Framework also provides an advanced Model-View-Controller (MVC) implementation that can be used to establish a basic structure for your Zend Framework applications.
Cake PHP
CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code.
sedikit bertanya gambar apa di atas ? ini saya ambil dari http://framework.zend.com, secara umum cara kerja dari sebuah PHP framework ada seperti gambar diatas, dimana ada kerjasama dari 4 faktor besar, yaitu User –> View –> Controller –> Model.
Apakah sama dengan CMS ? tentu berbeda, karena CMS menurut saya ada hasil dari pengolahan yang dibentuk oleh Framework, meskipun pada dasarnya pembuatan website dengan menggunakan CMS akan lebih banyak mempersingkat waktu.
Jika dengan CMS maka Anda tinggal menjalankan saja tidak perlu lagi memikirkan untuk menulis kode program sendiri, tetapi tidak demikian dengan framework. Menggunakan framework kita masih harus menulis kode, bedanya kode-kode yang kita tulis harus menyesuaikan dengan lingkungan framework yang kita gunakan. Memang konsekuensinya kita harus belajar lagi lingkungan pengembangan berdasarkan framework yang kita gunakan, tetapi hal itu akan terbayar setelah kita menguasai dan bisa menggunakan framework tersebut. Contoh PHP Framework ialah CakePHP, Zend Framework, Symfony, Prado, CodeIgniter.
Walaupun sudah ada CMS yang bisa Anda temui tutorial dan bukunya serta mungkin anda bisa mempelajari CMS tersebut, namun kenyataannya CMS hanya bisa mengerjakan pekerjaan-pekerjaan yang terbatas saja dan Anda ‘terpatrun’ dengan apa yang disediakan oleh CMS tersebut secara sistem yg sudah ada dan tampilan. Inilah perbedaan besar antara ‘belajar secara instan dari buku’ dengan ‘belajar dari nol untuk menjadi programmer’. Programmer biasanya mempunyai logika/ algoritma pemrograman dan tentunya bahasa pemrograman yang dia kuasai untuk mengutak-atik dapur file PHP, CSS, Javascript dan databasenya Tongue out he3x…1-0 ( Maklum, saya agak sensi nih dgn buku2 yang beredar dengan tambahan judul : instan…instan…, karena saya belajar sebagai programmer tidak ada yang instan..semua butuh waktu). Maka dari itu, mau tidak mau, Anda yang sudah bisa menguasai CMS pun, membutuhkan programmer untuk menangani ‘jeroan-jeroan’ di dalam web CMS tersebut.
Kemudian Framework sendiri itu apa ??

Pengertian Framework.

Artikel di bawah ini saya ambil dari http://antonifs.wordpress.com/2008/12/31/framework/
Framework dalam kacamata saya(penulis dari artikel tersebut), saya artikan sebagai pola kerja dalam menyelesaikan suatu tugas, yang dalam pola kerja tersebut disusun sedemikian rupa (secara umum) agar ke depan konsep ini bisa digunakan untuk menyelesaikan suatu tugas yang berbeda dalam sebuah koridor yang sama.

Saya persempit artikel saya pada framework dalam dunia ilmu komputer(”computer science”). Framework di sini lebih gampangnya di artikan sebagai kumpulan dari library(Class) yang bisa di turunkan, atau bisa langsung dipakai fungsinya oleh modul-modul atau fungsi yang akan kita kembangkan.
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 di sediakan 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.

Kekurangan Framework

Kekurangan framework ? menurut pendapat saya tidak ada. Namun pemilihan framework yang salah akan menjadi bencana.

Kelebihan dari Framework

Di atas saya sudah sedikit menyingung tentang kelebihan dari framework. Karena menurut saya akan terasa lebih mudah menjelaskan sesuatu dengan memberitahukan manfaat dari apa yang kita jelaskan.
Pertama kelebihan dengan adanya framework akan lebih mempermudah memahami mekanisme kerja dari sebuah applikasi. 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.

Pemilihan Framework

Ada beberapa hal yang harus di pertimbangkan dalam memilih framework :
Pertama Documentasi dari framework itu sendiri. Documentasi sangat penting adanya mengingat pada umumnya tidak banyak orang/perusahaan yang membuat framework sendiri dalam membuat applikasi. Nah maka dari itu kita akan sangat tergantung dengan documentasi yang di sediakan oleh framework yang kita pilih.
Berikutnya kesesuaian framework tersebut dengan applikasi apa yang hendak kita kembangkan. Mengambil filosofi “tidak perlu membunuh nyamuk dengan meriam”. artinya sebaiknya kita memilih framework dengan fasilitas yang pas dengan kebutuhan kita.
Berikutnya lagi perhatikan standar2 standart framework yang ada, misalkan apakah framework tersebut MVC, apakah framework tesebut mendukung versi sekian, apakah mendukung templating dll. Semakin banyak hal yang di support oleh framework tersebut semakin baik. Karena hal tersebut akan mempengaruhi kualitas dari software yang dikembangkan.
Berikutnya, adalah faktor kemudahan. Tentunya ini sangat tergantung dari sumberdaya yang ada. Standart kemudahan sangat sulit di ukur karena ini berhubungan dengan minat seseorang akan sesuatu. Namun melirik keatas berdasarkan documentasinya kita bisa mengira2 pola kerja framework tersebut.

Kesimpulan : Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaan didukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.

No comments:

Post a Comment