Istilah Framework didalam Website Development

Kali ini kita akan membahas mengenai istilah framework didalam website development. Framework adalah sebuah tols yang bisa mempermudah pembuatan sebuah website dinamis, web based application atau web services seperti API. Perlu ditekankan “mempermudah” disini bukan berarti anda tidak membuat logic dasar seperti pembuatan CRUD (Create Update Delete) melainkan mempermudah disini artinya kita dipermudah dengan penggunaan function (fungsi) yang ada didalamnya. Beberapa hal fungsi yang bisa terbantu dengan adanya framework yaitu:

  • Konsep MVC dimana kita harus menuliskan script kita didalam sebuah aturan folder yang mempermudah maintenance nantinya, karena antara script yang mengatur tentang template, akses database dan penghubung keduanya terpisah jelas.
  • Kemudahan dalam mengakses kedalam database, ini ditemukan hampir di setiap framework salah satunya adalah CodeIgniter dengan active recordnya.
  • Security, hal ini sangatlah penting karena ini merupakan ujung tombak dari keamanan website anda, jika menggunakan framework hal2 basic seperti sql injection, shell exec sudah dihandle olehnya jadi kita tinggal gunakan.
  • Url Mapping, ini implementasi pada umumnya adalah mempercantik url pada halaman tertentu, hal ini mempermudah user dalam mengingat url dan sangat ramah terhadap SEO
  • Helper function, biasanya disini adalah untuk menyingkat script pada umumnya, sebagai contoh untuk melakukan penulisan file pada php anda butuh sekitar 3-4 baris sedangkan pada framework anda hanya menuliskan 2 baris, memang terlihat kurang begitu berbeda namun jika handlingnya lebih kompleks penggunaan framework bisa menjadi sangat membantu.

Sebenarnya masih banyak sekali fungsi yang sangat membantu kita didalam pembuatan sebuah website.

Apakah Framework itu sama dengan CMS?
Pertanyaan tersebut sering sekali saya temukan khususnya untuk mereka yang baru terjun kedalam dunia website development. Apakah sama antara framework dan CMS? jawabannya adalah tidak, karena fungsi dari kedua hal tersebut memang berbeda, berikut penjelasan sederhana antara CMS dan framework didalam pembuatan sebuah website.

CMS
Didalam proses pembuatan sebuah website jika menggunakan CMS kita cukup melakukan setup di web server dan melakukan configurasi maka langsung bisa dipergunakan, jika ingin mempercantik kita bisa melakukan merubah themes atau membeli di market place. Jika perlu bisa membuat plugins untuk mengakomodir kebutuhan kita. Klo untuk dari sisi penulisan code (ngoding) sepertinya bisa dibilang sedikit sekali, jika boleh digambarkan dalam persentase ngoding jika mempergunakan CMS ini hanya sekitar 10-15% saja.

Framework
Didalam proses pembuatan website jika mempergunakan framework ini anda harus ngoding semua hal, dari akses database, themes dan plugins. Jika digambarkan dalam persentase ngoding jika mempergunakan framework ini adalah sekitar 90-95%, sisanya adalah terbantu dari fungsi dasar dari framwork itu sendiri.

Berikut beberapa framework yang sangat terkendal didalam dunia website development adalah ASP.NET, Cold Fusion, Sprint (Java), Code Igniter, CakePHP, Yii, FuelPHP, Symfony, Laravel, Zend Framework, Flask (Python), Ruby On Rails, Sinatra (Ruby). Untuk melihat lebih detail silahkan buka wikipedia perbedaan antara website framework

Kunci dari pemilihan framework yang tepat adalah pilih yang sesuai dengan kebutuhan, lihat resource dan kemampuan diri anda, apakah framework tersebut memiliki komunitas yang besar (karena kemungkinan besar anda akan sering bertanya kepada komunitas tersebut).