Dulu saya tidak pernah menggunakan template engine ataupun framework dalam membuat aplikasi web. Selain belum perlu, toh menurut saya aplikasi web yaa gitu gitu aja: desain database, tinggal selipin skrip php di dalam html, ganti ekstensi .html menjadi .php voila, selesai.
Pernah sih baca-baca mengenai template engine Smarty. pas lihat dokumentasinya, hmm… disitu ditulis kalo alasannya biar desainer templatenya nggak perlu belajar php… kayaknya kurang tepat. soalnya walaupun desainer tidak belajar php, dia perlu belajar sintaks-sintaks smarty dong… kalo gitu sama aja dong… Akhirnya saya nggak jadi belajar Smarty ataupun template engine lainnya.
Untuk framework, sebetulnya selama bekerja di perusahaan ini, saya sudah berurusan dengan framework. proprietary tentu, karena framework ini dibuat oleh perusahaan tempat saya bernaung dan disesuaikan untuk aplikasi-aplikasi yang khusus dibuat oleh perusahaan. Framework perusahan saya ini menurut saya agak belibet dan kurang fleksibel untuk dikembangkan. tapi satu hal yang harus saya akui: template engine di belakangnya bagus! benar2 memisahkan antara kode PHP dengan template HTML.
Akhir tahun lalu saya diminta kerjasama freelance (paruh waktu) dengan teman saya untuk proyek pembuatan aplikasi web. Jadi teman saya yang mencari proyek, kalau proyek tersebut membutuhkan skrip php, saya yang akan mengerjakannya. Teman saya benar-benar tidak tahu menahu mengenai pemrograman (juga PHP tentunya).
Berawal dari ini, saya mencoba mencari framework untuk memudahkan dan meningkatkan produktivitas dalam pembuatan aplikasi, dan pilihan saya jatuh pada cakePHP framework.
Memang, ada banyak framework untuk PHP: cakePHP, Symfony, Prado, Seagull, dan masih banyak lagi. Saya tidak ingin membandingkan framework-framework tersebut, karena saya belum pernah mencoba satu per satu, hanya cakePHP saja yang sudah saya coba gunakan. Prado saya ketahui dari teman saya yang punya background ASP. Menurutnya Prado mudah digunakan, tapi bagi saya Prado terlalu ASP oriented (saya hanya lihat sekilas dari dokumentasi dan tutorialnya sih :p ), karena saya tidak punya latar belakang ASP, jadi saya enggan mencobanya. Mungkin bila anda punya latar belakang ASP boleh mencobanya.
Untuk Symfony saya belum pernah mencoba, jadi tidak bisa mereviewnya. begitu pula Seagull. Hanya saja Seagull di dokumentasinya disebutkan bahwa Seagull mirip dengan Struts atau JSP. Jadi untuk yang sudah familiar dengan Struts atau JSP di Java, mungkin lebih mudah menggunakan Seagull.
Yang jelas, dengan menggunakan framework berarti harus meluangkan sedikit waktu untuk belajar menggunakannya. Apa? belajar lagi? Ya! karena framework menurut saya seperti magic: anda lakukan yang seperti yang disebutkan di konvensi dan puff! framework akan membuatkan fungsi2 standar untuk anda. Jadi framework yang bagus haruslah mempunyai learning curve yang landai, alias mudah dipelajari (dengan dokumentasi yang jelas tentunya).
whew, cukup panjang sepertinya. Cukup sekian dulu pengenalannya dengan framework. berikutnya kita mulai dengan cakePHP learning by doing.










