Pemrograman: Framework Yii

Yii adalah framework (kerangka kerja) PHP berbasis-komponen, berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan kecepatan pengembangan secara signifikan. Nama Yii (dieja sebagai /i:/) singkatan dari "Yes It Is!".


Adapun Yii di kembangkan oleh Qiang Xue pada 1 Januari 2008, seorang programmer berkebangsaan China yang sebelum nya juga telah mengembangkan framework PHP bernama Prado. Oleh karena itu tak heran jika Qiang juga mengadopsi teknik-teknik yang dipakai pada Prado saat mengembangkan Yii. Selain terinspirasi oleh Prado, Yii juga terinspirasi oleh framework luar yaitu Ruby On Rails terutama pada mekanisme ORM nya. Dan masih banyak lagi yang menginspirasi Yii framework seperti Symfony dan Joomla.

Fitur Yii
  • MVC(Model - View - Controller), hampir semua framework PHP saat ini berbasis MVC, tidak terkecuali Yii karena dengan MVC aplikasi menjadi lebih terstruktur dan mudah di pahami.
  • ORM(Object Relational Mapping), merupakan salah satu keunggulan Yii dalam urusan Database, jika kita lihat secara spesifik lagi maka Yii sebenarnya menyediakan mekanisme seperti DAO(Data Access Object), Query Builder(seperti di framework CI), Active Record(ORM) dan Database Migration. Dengan ORM pekerjaan developer menjadi terbantu karena tidak perlu menulis query SQL yang rumit lagi, cukup dengan memanggil fungsi-fungsi tertentu.
  • Form input dan validasi, Yii sangat membantu sekali dalam urusan menangani form input, karena para developer telah disediakan sejumlah validator yang akan memvalidasi inputan dari pengguna aplikasi dengan cara yang mudah dan efisien.
  • Widget, merupakan konsep di Yii yang menyediakan komponen-komponen user interface yang siap pakai, misal nya data grid, autocomplete, tree view dll. Adapun widget-widget ini ada yang terintegrasi dengan library Jquery sehingga memungkinkan untuk mekanisme AJAX.
  • Autentikasi dan Autorisasi, Yii sudah menyediakan mekanisme Autentikasi(login, logout) dan Autorisasi(hak akses) terhadap pengguna sistem, sehingga kita tidak perlu lagi repot-repot membuat dari pertama.
  • Skin dan Tema, masalah tampilan pun sudah di perhatikan oleh Yii, dengan konsep Skinning kita bisa meng-costumize tampilan komponen user interface di aplikasi kita menggunakan CSS sedangkan dengan konsep Theming kita bisa mengganti-ganti seluruh tampilan aplikasi dengan mudah.
  • Web Service, Yii memiliki support yang cukup baik untuk membuat web service pada web kita seperti meng-generate spesifikasi WSDL service secara otomatis.
  • Internationalization(I18N) dan Localization(L10N), Yii mensupport translasi pesan, tanggal dan format waktu sesuai dengan lokasi dimana anda berada.
  • Caching, aplikasi yang kita rancang bisa menjadi lebih cepat, dan Yii mempermudah mekanisme itu dengan menyediakan class-class yang siap pakai dan mensupport banyak teknik seperti APC dan memcached.
  • Penanganan Error dan Logging, Segala pesan error yang keluar dari aplikasi anda ditampilkan secara bagus dan mudah dimengerti, mekanisme logging nya juga sangat bagus, sebab kita bisa memilih untuk menampilkan langsung ataupun disimpan ke suatu file di server.
  • Security, Yii memiliki fitur keamanan yang membantu dalam mencegah serangan-serangan seperit SQL Injection, XSS, CSRF, Cookie Tampering dll.
  • Bisa bekerja dengan library luar(3rd party), Yii telah di desain sedemikian rupa sehingga kita bisa memasang library external dari pihak ketiga untuk di sematkan dalam aplikasi kita
  • Dokumentasi yang lengkap, dokumentasi Yii framework bisa dibilang cukup lengkap, setiap method dan property sudah terdokumentasi dengan baik, buku-buku(ebook) dan tutorial mengenai Yii juga lengkap di website nya
  • Unit dan Fuctional testing, Yii memiliki support penuh terhadap Test Driven Development, sehingga melakukan testing terhadap aplikasi kita menjadi lebih mudah dan menyenangkan, Yii mensupport PHPUnit dan Selenium.
  • Extensions, Yii memiliki segudang extensions. Extension sendiri merupakan kontribusi dari pengguna-pengguna Yii dengan membuat widget, library ataupun component yang bisa dipakai dan belum ada di Yii secara built-in.
Sumber

Comments

Popular Posts