Prado Framework, component and event drivent framework for PHP
Pemrograman web clasic dengan membangun kode dan tampilan dari awal merupakan cara yang sudah ketinggalan jaman. Klo dulu programmer membuat kode semuanya dari awal hingga akhir, dari presentation layer hingga bussines layer sekarang semuanya sudah berubah. Programmer cukup memikirkan bussines layernya saja alias memikirkan bagaimana aplikasi bekerja. Bukannya memikirkan bagaimana data harus disajikan atau ditampilkan. Pemrograman tradisional PHP yang dulu saya gunakan adalah membuat kode PHP untuk aplikasi web dengan memasukkan kode PHP ke dalam halaman HTML untuk menampilkan data yang diambil dari database. Membuat semuanya dengan coding clasic, tanpa bantuan framework.
Saat ini saya sudah beralih menggunakan framework Prado, yaitu suatu kumpulan library atau kode PHP dan Javascript yang ditulis dan dapat digunakan kembali. Prado merupakan salah satu framework PHP dari sekian banyak framework yang ada. Prado berbeda dengan kebanyakan framework PHP yang rata-rata menggunakan konsep MVC ( Model View Controller) yaitu framework yang fokus pada pembangunan aplikasi web dengan konsep Object Oriented Modelling yang memisahkan View, dan Controller. View merupakan tampilan dari web, dan controller merupakan pemroses atau engine dari web tsb. Kurang lebih begitu yang saya tangkap. Maaf klo ada kesalahan. Sedangkan prado merupakan framework yang mengambil konsep dari ASP.Net. Yaitu bahasa pemrograman web dari Microsoft. Tidak dapat dipungkiri bahwa Microsoft merupakan pembuat aplikasi end-user yang sangat bagus. Bagus dari sisi penggunaan dan tampilan yang sangat user-friendly. Sayang sifatnya yang tertutup dan komersil membuat kita berpikir beberapa kali untuk menggunakan produk microsoft.
Kembali ke Prado. Prado merupakan framework yang menggunakan konsep komponen dan berbasis event. Seperti di pemrograman desktop contohnya pada Visual Basic dan Delphi, kita tinggal menyusun komponen-komponen seperti textbox, datagrid, label, datepicker dan banyak lagi komponen lainnya, kemudian membuat fungsi atau procedur yang dijalankan berdasarkan event atau kejadian pada form tampilan tempat kita menyusun komponen sebelumnya. Prado memisahkan pembuatan tampilan dan coding PHP. Tampilan diletakkan pada file PAGE yang merupakan kumpulan komponen-komponen yang kita susun dan fungsi-fungsi diletakan pada file PHP. Berikut merupakan kutipan dari buku “PHP Enterprise” yang ditulis oleh Wiwit.S yang menggambarkan Prado.
Prado merupakan framework yang fokus terhadap komponen dan event drivent. Seperti pemrograman berbasis visual seperti Visual Basic dan Delphi, framework ini juga menggunakan konsep yang sama hampir menyerupai dengan bahasa pemrograman web ASP.NET.
Komponen yang dimaksud adalah komponen seperti yang ada dalam web biasa. Beberapa komponen dalam Prado yaitu:
- Text Editor
- Label
- Gambar
- Text Editor
- Datagrid
Selain contoh diatas masih banyak komponen lain yang dibuat komunitas Prado yang dapat digunakan dalam pengembangan website. Sedangkan untuk event drivent, hampir sama dengan fungsi atau method dalam Visual Basic atau Delphi. Kita mendefenisikan tugas apa yang harus dikerjakan oleh tiap komponen.Teknik yang digunakan framework Prado berbeda dengan beberapa framework PHP yang ada seperti Zend, Cake, Postnuke, dan framework lainnya. Pembangunan aplikasi website menggunakan framework Prado melibatkan berbagai komponen (yang telah dibuat oleh pengembangnya), mengatur properti, dan memberikan tugas pada komponen berupa event.
Sebuah komponen Prado adalah kombinasi file spesifikasi yang ditulis dengan bahasa XML, template HTML, dan page class yang ditulis dengan bahasa PHP. Komponen-komponen Prado digabung untuk membangun komponen yang lebih besar atau halaman web yang utuh. Apa yang digambarkan diatas tentu sangat berbeda dengan pengembangan web dengan cara biasa menggunakan bahasa PHP. Prado lebih mirip dengan pemrograman pada desktop seperti Visual Basic dan Delphi. Saat ini framework Prado telah dikembangkan hingga versi 3. Prado menggunakan PHP 5 mulai versi 2, sedangkan untuk PHP 4 hanya didukung hingga versi 1. Prado bersifat open-source dan untuk menggunakannya dapat langsung mengambil pada website Prado yaitu http://www.pradosoft.com. Dukungan komunitas programmer yang luas serta sifatnya yang non-komersil memberikan benefit tersendiri bagi para pengembang web yang hendak menggunakannya.
Konsep Prado yang berbasis komponen dan event-driven mempunyai banyak keuntungan bagi untuk programmer web. Berikut keuntungan yang didapat programmer dalam membangun aplikasi web berbasis framework Prado:
- Reusability, Menggunakan kembali apa yang sudah kita buat tentu akan menghemat banyak waktu, tenaga, dan uang. Komponen-komponen dalam framework Prado dapat digunakan ulang. Banyak programmer lain yang memberikan kontribusi dalam mengembangkan komponen Prado.
- Ease of use,Komponen-komponen dalam Prado sangat mudah digunakan. Kita juga dapat membuat komponen sendiri dengan menurunkan class yang telah ada sesuai dengan kebutuhan. Kita juga dapat menggunakan apa yang sudah disumbangkan oleh programmer lain. Meskipun komponen tersebut bukan dikembangkan oleh pengembang Prado, namun dengan standar Prado kita dapat dengan mudah menggunakannya.
- Robustness, Penggunaan Prado akan membebaskan programmer dari kebosanan menulis kode dan membuat kode yang salah. Semua kode ditulis dengan format object, method, dan properti. Hal ini tidak seperti pemrograman PHP yang biasa kita gunakan. Konsep ini lebih menyerupai dengan pemrograman desktop seperti pada Visual Basic atau Delphi. Prado mengambil beberapa konsep dari pemrograman .Net dan Delphi. Seperti pada penanganan state, Prado mengambil konsep dari ASP.NET.
- Performance, Prado menggunakan teknik cache untuk menjamin performance aplikasi. Dengan adanya cache ini maka Prado tidak perlu mem-parser ulang kode XML yang dibuat. Cukup dengan membaca dari kode yang telah di-serialize di cache
- Team Integration, Prado memisahkan business logic dan presentation logic. Pembuatan keduanya dilakukan pada file yang terpisah. Dengan demikian kita dapat memisahkan antara desain tampilan dan fungsi aplikasi dan memberikan tugas pengembangannya pada orang yang berbeda.




January 15, 2009 at 12:30 pm
Semangaaattt….
*saya lagi belajar Prado*