Dunia tehnologi informasi yang saya tekuni saat ini benar-benar sedang berevolusi. Banyak yang bisa dijabarkan dari kalimat tadi. Namun saya hanya akan bercerita mengenai bahasa pemrograman yang saya pernah praktekkan sendiri.
Sejak masih SMP saya sudah belajar komputer (sekitar tahun 1998). Waktu itu komputer yang saya punyai adalah Intel 80486 dengan HD cuma 250 MB. Saya sudah belajar DOS 6.0 dan Windows 3.11. Bahasa pemrograman yang saya pelajari adalah QBASIC. Sifatnya masih main-main, penasaran.
SLTA saya harus berpisah dengan komputer saya. Saya disekolahkan oleh orang tua ke luar kota. Kadang masih bisa ngutak-atik komputer di rental pengetikan. Karena komputer di tempat rental tidak terpasang developer tools, seperti aplikasi pemrograman, saya hanya bisa sedikit ‘iseng’ bikin-bikin file BATCH atau VBScript. Pernah juga bikin virus macro pakai editor internal yang ada di Word. Kadang masih sempat main-main VB di rumah pake komputer Via 1 GHz Pro.
Setelah tiga tahun tidak ada ‘pegangan’, akhirnya saya punya komputer lagi. Kali ini Pentium 4 1,8 Ghz dengan HD 120 GB. Cukup banyak yang saya pelajari, walau belum cukup untuk dibilang ‘lengkap’. He…
Saya sempat belajar C++, GCC, Gambas, Phyton, ASP, .NET, dan PHP. Di sisi DBMS saya juga pernah pakai Access, SQL Server, MySQL, PostgreSQL. Kesemuanya hanya pada samapai tingkatan ‘rata-rata’.
Selalu ada keraguan untuk memperdalam suatu bahasa pemrograman dalam diri saya. Karena sebagus apapun kita menguasai suatu bahasa pemrograman, biasanya ada saja bahasa pengganti yang lebih matang, yang seringnya berbeda sama sekali konsepnya dengan yang sudah kita pelajari. Sejauh pengamatan saya, sepertinya hanya Java yang relatif stabil dan bisa diandalkan untuk program berskala besar sampai beberapa tahun ke depan. Saya juga sudah belajar sedikit tentang Java. Namun saya tidak ingin mengulasnya, karena sudah banyak tulisan yang membahasnya.
Kali ini saya ingin ngomong masalah framework. Kita bikin tulisan ini ringan-ringan saja. Agar anda dapat mengikutinya dengan mudah. Definisi yang saya pakai pun seringkali tidak baku dan tidak mengarah ke suatu referensi. Siap?
Baik, pertanyaan yang pertama: apa sih framework itu? Gampang aja: framework kita artikan kerangka kerja. Terus kenapa kita butuh framework? Banyak alasan yang bisa dikemukakan. Tapi kalau saya pribadi cenderung menyukai kemudahan yang ditawarkan dan sudah bosan dengan metode pengembangan yang ngasal dan gitu-gitu melulu. Nanti akan lebih saya jelaskan.
Ok, sekarang saya persempit lagi bahasannya dengan menambah satu kata: ‘PHP’. Jadilah framework PHP. PHP untuk saat ini masih bisa diandalkan untuk pengembangan aplikasi berbasis web. Keistimewaan PHP yang paling saya sukai adalah cross-platform, open-source, dan mendukung konsep OOP. Sekarang contoh nyata framework PHP tuh seperti apa?
Ada banyak contoh. Yang berbasis CMS seperti PostNuke dan Mambo. Dan yang lebih keren seperti Mojavi, WACT, PHP.MVC. Atau yang menekankan reusable code, event driven programming, dan berbasis komponen seperti Prado. Lagi-lagi semuanya punya kelebihan dan kekurangan. Dan saya kira sudah banyak referensi yang bahas CMS ataupun Prado. Sedang seperti Mojavi cs. belum banyak. Tapi saya pilih yang lebih populer dan memiliki komunitas yang aktif, yaitu CakePHP. Kalau boleh jujur, sebetulnya konsep yang ditawarkan Prado juga menarik. Namun sayang, untuk kemudahan dalam menemukan aplikasi yang mendukung untuk menulis kode komponen Prado secara auto-complete belum ada. Sedangkan CakePHP masih mengandalkan kode-kode dari PHP dan HTML.
Keistimewaan CakePHP yang saya sukai diantaranya:
- Scaffolding: fitur yang memungkinkan menguji aplikasi tanpa menuliskan kode CRUD (Create, Read, Update, Delete).
- Kompatibel dengan PHP4 dan PHP5
- ACL (Access Control List)
- Request dispatcher, yang membuat URL menjadi ‘lebih indah’
- Berbasis MVC (Model, View, Controller)
- Built in validation, dan masih banyak lagi fitur menarik lainnya.
Saya ingin memandu anda secara perlahan, sekaligus kita belajar bersama. Namun jika anda membutuhkan referensi resminya bisa anda kunjungi di http://cakephp.org.
Tapi sebelum anda memulai, anda bisa mendapatkan CakePHP dengan:
1. Download versi stable-nya di http://cakeforge.org/projects/cakephp/.
2. Versi nigthly build (stable dan ditambahkan bug fixes) dari http://cakephp.org/downloads/index/nightly.
3. Menggunakan SVN client ke https://svn.cakephp.org/repo/trunk/cake/
Happy CakePHP! :p