Thursday, February 05, 2009

Framework Apa sih ?

Framework di lihat dari kacamata programmer

Definisi Frameworks

Frameworks atau kerangka kerja digunakan untuk membangun aplikasi, dimana aturan-aturan dalam proses pengembangan aplikasi mengikuti ketetapan yang ada pada kerangka kerja. Aturan-aturan dalam kerangka kerja meliputi kode standar, konfigurasi program, dan alur kerja framework.

Frameworks adalah kumpulan dari file-file pustaka (libraries) atau class-class yang terdapat dalam suatu kerangka kerja yang mendukung dalam pengembangan aplikasi secara terstruktur dan independent terhadap aplikasi.

Software Framework adalah sebuah desain yang bisa digunakan berulang-ulang (re-usable design) untuk sebuah sistem atau sub sistem piranti lunak.

Didalam software frameworks mungkin terdapat bagian-bagian berikut :

  • Program-program pendukung

  • Kode pustaka (libraries)

  • Skrip bahasa pemrograman

  • Software lain yang membantu pengembangan aplikasi.

Kesemua bagian bekerja sama menyatukan komponen-komponen yang berbeda pada sebuah aplikasi yang dikembangkan.

Beberapa bagian frameworks dijelaskan melalui dokumentasi tentang class-class pada aplikasi yang berisi variabel dan fungsi-fungsi atau disebut API (Application Program Interfaces).

Manfaat Frameworks

Dalam mengembangkan program aplikasi dengan pendekatan RAD (Rapid Application Development), seharusnya programmer dalam membuat kode program tidak berulang-ulang. Programmer dapat membuat metode atau fungsi yang dapat di kustomisasi dan kelak program tersebut dapat digunakan kembali (re-usable program). Programmer dapat membuat komponen-komponen program yang dapat digunakan pada beberapa project yang berbeda.

Tren pengembangan software saat ini menghendaki program yang re-usable, berbasis komponen dan program berorientasi object. Paradigma praktisi IT kini berubah dari yang awalnya melakukan peng-kodean (coding) dari awal “code from stretch” menjadi pengembang (developers) yang cenderung membangun sesuatu dari sesuatu, membangun sebuah aplikasi berdasarkan kerangka kerja atau frameworks.

Programmer atau developers dapat menggunakan frameworks yang sudah ada dalam pembuatan suatu aplikasi program. Dengan menggunakan frameworks akan didapat banyak manfaat diantaranya :

  1. Speed of Development : Mempercepat pengembangan aplikasi.

  2. Robustness: Aplikasi yang mempunyai performa dan keamanan yang tangguh.

  3. Simple : Kode dan logika yang terdapat dalam aplikasi tertata dengan rapi, terjaga tetap teratur, mudah dibaca sehingga akan mempermudah proses maintenance-nya.

Namun demikian ada juga hal-hal yang perlu diperhatikan dalam menggunakan frameworks, diantaranya :

  1. High Curve of Learning : Untuk mempelajari sebuah frameworks diperlukan energi yang cukup besar, proses awal belajar akan menemui banyak kendala dan kesulitan, dibeberapa kasus frameworks didapatkan minimnya dokumentasi dan contoh program, namun demikian biasanya terdapat komunitas atau forum yang dapat membantu mempelajari frameworks. Semua hal ini akan terbayarkan oleh kecepatan dan kemudahan pada saat anda telah menguasai frameworks.

  2. Large Resouces : Beberapa pihak mengklaim penggunaan frameworks dapat berpengaruh pada performa aplikasi karena banyaknya kode pustaka (libraries) yang dibutuhkan oleh sebuah arsitektur frameworks yang komplek. Hal ini masih dalam perdebatan, namun dengan memahami kekurangan framework yang berakibat pada performa aplikasi, programmer dapat melakukan tuning atau menyempurnakan kekurangan program, karena sesuatu hal tidak ada yang sempurna, demikian halnya dengan framework. Perbaikan dengan melaporkan bugs ke forum atau milis dan melakukan patch dapat membuat frameworks lebih baik dari sebelumnya.

No comments: