Yii Framework
Yii merupakan salah satu dari sekian banyak framework PHP yang cukup populer dikalangan PHP Developer, bisa dilihat dari http://www.phpframeworks.com/top-10-php-frameworks/ bahwa Yii termasuk dalam 10 besar framework PHP dunia.
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)
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
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
Dengan 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.
0 komentar:
Posting Komentar