Thursday, November 21

kenapa menggunakan PHP framework? kenapa pakai yii?

Saat ini saya sedang melakukan rekrutasi programmer PHP untuk mendukung project di tempat saya. spec orang yang akan direkrut dapat diakses disini. setelah membaca requirement tersebut, banyak yang bertanya “kenapa menggunakan PHP framework?”, dan jika menggunakan framework, “kenapa menggunakan yii?

baik kita bahas pertanyaan pertama dulu, “kenapa menggunakan PHP framework?”. Menurut saya, benefit menggunakan framework adalah:

  • memberikan struktur yang baik dalam program kita. kadang sebagai programmer, kita bisa buat struktur program suka2 kita. dengan framework, program kita dapat dibuat dengan lebih terstruktur, mudah dimanage, mudah di develop.
  • nah bagi yang udah biasa bikin program sendiri, biasanya pada buat framework sendiri agar program dapat mudah di develop. nah yang bisa jadi problem adalah penggunaan framework ini adalah subjektif mudah menurut perspektif kita. dengan framework yang sudah dipakai banyak orang, maka akan memberikan struktur & cara kerja standard untuk aplikasi kita. Semakin banyak orang yang pakai, maka itu berarti banyak orang yang setuju dengan cara kerja framework tersebut. memang sih, belajar framework orang berarti kita harus menyesuaikan cara kerja orang tersebut dimana mungkin ngak sesuai dengan gaya kita. namun dari perspektif lain, dengan mempelajari framework orang, kita bisa menambah wawasan yang mungkin dapat meningkatkan kinerja kita.
  • dengan framework, development aplikasi bisa lebih cepat. Dalam membuat aplikasi web, pasti banyak pekerjaan yang sama yang dilakukan pada setiap aplikasi yang kita buat (misal: generate page, akses database, display tabel, searching, paging, URL management, login, reset password, access control, dll). para pembuat framework biasanya menyediakan fasilitas untuk generate kode-kode untuk dipakai. dengan demikian tidak perlu membuat lagi komponen2 tersebut dari scratch. asyik kan? hehehe
  • mengingkatkan security. Umumnya framework dibuat oleh orang yang sudah berpengalaman dibidangnya. Dengan pengalamannya, ditambah kontribusi dari pengguna framework, akan meningkatkan kualitas dan keamanan aplikasi.

nah setelah tahu kenapa menggunakan framework, kita lanjut ke pertanyaan selanjutnya, “kenapa pakai yii?”

  • Terus terang pemilihan yii adalah karena saya familiar dengan framework ini. ini adalah framework pertama saya, dan sejauh ini sudah cukup mengakomodasi kebutuhan saya.
  • Yii adalah framework yang menggunakan PDO. PDO bekerja dengan membuat sebuah abstraksi akses database sehingga kita sebagai programmer tidak perlu terlalu jauh memikirkan kompatibilitas antar database. nah dengan abstraksi tadi, kita dapat lebih mudah jika ingin switch database. asal stukturnya sama, kita bisa pindah dengan mulus. coba kalo aplikasi kita dibuat dengan mysql centric seperti wordpress, dan client pengen pake sql server? gimana ngak berdarah-darah untuk modif program kita? hehehe…
  • Yii adalah framework yang full OOP. dimana dengan OOP ini, kita lebih baik dalam memanage code, dapat menglompokkan fungsi2 kedalam kelas-kelas, dapat modify program dengan lebih baik, program dapat lebih rapi dan lebih mudah dibaca. nah disinilah menurut saya tantangan terbesar Yii, karena dari yang saya lihat kebanyakan programmer yang melamar belum menguasai OOP dengan baik (padahal dari jurusan informatika loh). banyak pelamar yang bilang bahwa ybs udah familiar dengan framework x,y,z. Nah logikanya, jika memang sudah menguasai framework tersebut, tentunya tidak masalah jika belajar yii kan? nah mungkin jadi kemampuan OOPnya kurang sehingga kesulitan dalam menggunakan yii. saya juga melihat sendiri ada programmer PHP pemula, yang mentok setelah saya minta memodifikasi aplikasi dibuatnya dengan menggunakan OOP. ya, OOP memang tidak mudah karena ini memang merubah cara berpikir programmer. ini mirip dengan sysadmin yang udah biasa memanaga filesystem linux tradisional (ext3, lvm, mdraid), kemudian belajar manage filesystem dengan ZFS. Perlu perubahan cara berpikir.
  • Yii menggunakan model MVC (model view controller). dengan MVC kita dapat lebih terstruktur dalam membuat aplikasi kita. kita tidak perlu membuat banyak file pada root directory aplikasi kita (eg. login.php, index.php, cekstatus.php, displayuser.php, dll). terus terang konsep MVC ini juga salah satu yang menjadi hal yang berat bagi programmer pemula karena mereka terbiasa dengan membuat langsung file yang dibuat pada root directory aplikasi. dengan MVC, kita bisa lebih mudah dalam manajemen aplikasi karena kita dapat memisahkan kode untuk koneksi database, untuk generate halaman, kode untuk URL halaman, dll. tidak campur2 didalam 1 file saja.
  • Yii mempunyai lisensi BSD. ya lisensi BSD, bukan GPL. dari yang saya ketahui, lisensi BSD tidak mengharuskan kita untuk mendeliver source code aplikasi kita.
  • Yii mempunyai code generator (gii). saya rasa ini salah satu tool yang sangat membantu kecepatan pengembangan aplikasi kita. tool gii ini dapat meng-generate code untuk kemudian dimodifikasi oleh kita. kita tinggal memasukan nama tabel, membuat beberapa klik, dan gii akan langsung membuat model, view, dan controller untuk kita. menarik bukan? cuman tetap saja, dalam memodifikasi model, view, controller, ya harus ngerti OOP. kalo ngak ngerti, ya sama juga bo’ong. hehehe…
  • Yii mempunyai komponen untuk pengecekan input yang terintegtrasi. saya rasa ini fitur yang baik dan berguna untuk keamanan. jika kita buat webform, biasanya kan kita buat fungsi sendiri untuk sanitasi input kan? misal: kita ngecek bahwa inputan harus character saja, atau angka saja, atau harus berupa format tanggal. nah di yii, fasilitas pengecekan ini udah terintegrasi dan dibuat otomatis dengan gii. cihuuiii…
sekian kira-kira jawaban untuk para pelamar atau para programmer tentang teknik development yang kita pakai di project kita.
semoga bermanfaat bagi pembaca

URL pendek: http://wp.me/pRkxT-WA

3 Comments

  • prima

    wah, mantap sekali penjelasanya. Kalo begitu sepertinya saya masih perlu belajar oop lebih lanjut sebelum mempelajari framework. Terima kasih atas artikelnya. Salam.

  • @prima:
    menurut saya, pengetahuan OOP adalah hal wajib yang harus dikuasai sebelum bersentuhan dengan framework (terutama yii). jika pemahaman OOPnya lemah, maka jangan harap dapat menguasai framework.

    namun, ada hal menarik ditempat saya yaitu ada programmer yang ngak ngerti teori OOP sama sekali (anak informatika). tapi kalo disuruh koding OOP malah bisa. hayo loh?

    kalo ditanya ttg Abstraction, Encaptulation, Inheritance, dan Polymorphism, dia cuman bengong, dan ngak sadar bahwa sebenernya yang dia lakukan adalah OOP.

    hehehe :-p

  • rere

    artikel yang sangat menarik untuk di baca,, framework yii serupa dengan framework codeigniter sama2 berbasis OOP dan menggunakan model MVC. klo boleh nanya, bisa kah dijelaskan perbandingan kinerja antara framework yii dan framework codeigniter ? terimakasih

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.