Pengenalan Frameworks

Pengenalan Frameworks – Apa itu 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.

Di dalam 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:

  • Speed of Development : Mempercepat pengembangan aplikasi.
  • Robustness : Aplikasi yang mempunyai performa dan keamanan yang tangguh.
  • 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 :

  • 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.
  • 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.

 

Aplikasi Frameworks

Software frameworks dikembangkan dengan bahasa pemrograman, sepeti PHP, Java, Ruby dan Python. Software frameworks dikembangkan menurut desain atau arsitektur. Pengembang atau pembuat software frameworks memilih arsitektur aplikasi yang dianggap terbaik bagi framework yang dibuatnya.

Arsitektur Aplikasi

Software frameworks terbagi atas dua bagian :

  • Tidak boleh diubah (Frozen spots) : dalam bagian ini didefinisikan arsitektur secara keseluruhan dari sistem software, didalamnya terdapat komponen-komponen dasar dan relasi diantaranya. Semua yang terdapat dalam bagian ini tidak dapat diubah pada saat framework digunakan. Namun demikian jika frameworks menggunakan program yang berorientasi object, programmer dapat meng-extends untuk menyesuaikan dengan aplikasi yang akan dibuat dan hal ini tidak mengubah bagian “frozen spots” dari frameworks.
  • Boleh diubah (Hot spots): ini adalah bagian bagi programmer dalam menggunakan software framework untuk mendefinisikan kode-kode program dan fungsionalitas-fungsionalitas dari aplikasi yang dibuat.

 Arsitektur Frameworks

Terdapat beberapa arsitektur aplikasi yang digunakan pada software frameworks, diantaranya :

MVC (Model View Controller)

Banyak frameworks yang menggunakan pola arsikterur MVC. Arstitektur ini membagi menjadi tiga bagian unit :

  • Model : sebagai unit yang memaintan data.
  • View : sebagai unit untuk menampilkan data.
  • Controller : sebagai pemicu (event handler) yang dapat memberi efek kepada Model dan View.

Dalam Frameworks aliran data terbagi atas dua konsep :

  • Push-based arsitektur : Aliran data dipicu (push) oleh aksi untuk melakukan suatu proses dan kemudian melempar data yang dihasilkan untuk ditampilkan pada lapisan tampilan (antar muka).
  • Pull-based ( Components based) : Aliran data dimulai dengan lapisan tampilan (antar muka) yang dapat mendorong (pull) hasil data dari beberapa bagian pemicu (controller) yang dibutuhkan, bermacam pemicu dapat terlibat dalam satu tampilan antar muka.

Library – Pustaka Program

Pustaka program sangat berperan pada suatu software frameworks, paling tidak pengembang software frameworks dalam membuat softwarenya tidak mulai dari nol, tetapi telah ada software-software lain berbentuk pustaka program (libraries) yang membantu dalam pengembangannya.

Pustaka program adalah berisi class-class yang didalamnya terdapat fungsi-fungsi (methods) yang dapat dipanggil sesuai dengan fungsionalitas.Terdapat beberapa pustaka program yang digunakan dalam beberapa frameworks.

  • Fungsionalitas Database :

Framework PHP menggunakan pustaka database DBPear, Adodb, PDO. Frameworks Java menggunakan pustaka Hibernate, POJO, Torque.

  • Fungsionalitas Tampilan :

Framework PHP menggunakan template Smarty, Java : Velocity.

Framework Aplikasi Web

Berkembangnya teknologi web menimbulkan banyak frameworks yang dikembangkan khusu untuk membuat aplikasi web. Kebanyakan framework aplikasi web menggunakan bahasa pemgroraman PHP dan Java, namun ada pula yang menggunakan bahasa pemrograman Ruby.

Masing-masing frameworks menawarkan fitur-fitur teknologi terbaru, seperti fitur components base, XML dan AJAX. Berikut frameworks yang menggunakan bahasa pemrograman Java :

  • Apache Cocoon
  • Apache Struts
  • AppFuse
  • Aranea framework
  • Google Web Toolkit
  • Grails
  • Hamlets
  • IT Mill Toolkit
  • ItsNat
  • JavaServer Faces
  • JBoss Seam
  • jZeno
  • Makumba
  • OpenLaszlo
  • OpenXava
  • Reasonable Server Faces (RSF)
  • RIFE
  • Shale Framework (software)
  • SmartClient
  • Spring Framework
  • Stripes (framework)
  • Struts
  • Tapestry
  • ThinWire
  • WebObjects
  • WebWork
  • Wicket framework
  • ZK Framework

Berikut framework aplikasi web yang menggunakan bahasa pemrograman PHP :

  • Akelos PHP Framework
  • Antares Framework
  • CakePHP
  • Canvas Framework
  • CodeIgniter
  • DIY Framework
  • Drupal
  • epesi
  • FUSE
  • Horde
  • KohanaPHP
  • MODx
  • PHP For Applications
  • PHPOpenbiz
  • PRADO
  • Qcodo
  • Seagull PHP Framework
  • RoadSend SiteManager
  • Symfony
  • Tigermouse
  • TYPO3
  • Yii Framework
  • Zend Framework
  • Zoop Framework

 
——————
Untuk informasi lebih lanjut, silahkan hubungi kami di:
NF COMPUTER Training Center
Jl. Lenteng Agung Raya No. 20-21
Srengseng Sawah – Jagakarsa
Jakarta Selatan 12640
Tel. 021-7874223, 7874224
WA. 081296421595
registrasi kontak