Codeigniter vs Yii vs Laravel

Halo pembaca :)

Setelah cukup lama tidak menulis blog karena disibukkan dengan kerjaan, sekarang saya ingin berbagi info lewat blog lagi. Kebetulan saat ini saya sedang mengerjakan proyek dimana  pada proyek ini saya mengembangkan sistem informasi berbasis web yang dibuat menggunakan PHP.

Tentunya untuk memudahkan pekerjaan, saya menggunakan framework PHP dan karena framework PHP ada banyak, saya perlu melakukan perbandingan terkait framework-framework yang ada.

Pertama sedikit perkenalan mengenai 3 framework yang menurut saya paling populer dalam pengembangan web application menggunakan PHP.

  1. Codeigniter
    Codeigniter atau CI merupakan framework PHP yang bersifat open source dan dibuat oleh EllisLab dan pertama kali dirilis pada tahun 2006. CI dibuat berdasarkan pola MVC (model-view-controller).Pada tahun 2008, Rasmus Lerdorf, pembuat bahasa PHP mengatakan bahwa ia menyukai CI “because it is faster, lighter and the least like a framework.” Namun pada tahun 2013, EllisLab mengumumkan bahwa mereka mencari pemilik baru untuk CI karena keterbatasan sumberdaya untuk mengembangkan CI. Pada akhir tahun 2014, EllisLab pun mengumumkan bahwa pengembangan CI akan dilanjutkan oleh British Columbia Institute of Technology.
    CI merupakan framework yang mudah untuk dipelajari oleh pemula (beginner-friendly). Hal ini didukung dengan dokumentasi yang sangat jelas, lugas dan terstruktur. Kelemahan dari CI adalah tidak adanya fasilitas untuk mengimport package ke aplikasi yang dibuat, berbeda dengan laravel dan Yii. Selain itu, CI sempat cukup lama tidak diupdate oleh EllisLab sehingga banyak yang meninggalkan CI dan beralih ke framework lain.
  2. Yii
    Yii dibuat oleh Qiang Xue di tahun 2008. Yii menggunakan Composer, dependency manager untuk PHP. Yii unggul dari aspek kecepatan dan keamanan. Yii juga memiliki fitur jQuery integration yang memungkinkan front-end developer dapat mudah menggunakan Yii. Hal ini menjadi kelebihan yang tidak dimiliki oleh CI dan Laravel. Yii juga dibuat berdasarkan pola MVC (model-view-controller).
    Yii memiliki keunggulan dari sisi performa caching yang membuat aplikasi yang dibuat menjadi lebih ringan. Namun, banyak kritikan yang mengatakan Yii memiliki learning curve yang curam yang membuat pemula kesulitan dalam menguasai framework ini.
    Secara umum, Framework sudah menyediakan fitur keamanan didalamnya. Namun jika ditemukan lubang keamanan,  developer harus mengupgrade framework yang dipakai  di aplikasi.  Efek beruntunnya,  kode yang dibuat juga harus ikut di modifikasi.
  3. Laravel
    Laravel dibuat olehTaylor Otwell dan pertama kali dirilis pada tahun 2011. Laravel memiliki keunggulan dalam aspek komunitas yang men-support framework ini yang berdampak pada banyaknya package yang memudahkan dalam proses development. Berdasarkan rating di github, Laravel memiliki jumlah bintang terbanyak dibandingkan framework lainnya (bisa dilihat di https://github.com/search?l=PHP&q=+stars%3A%3E0&ref=searchresults&type=Repositories).
    Selain itu, berdasarkan survey tahunan yang dilakukan oleh Sitepoint, dimana peserta survey melakukan voting terhadap framework-framework yang ada. Hasilnya voting yang diperoleh Laravel jauh mengungguli framework lain.
    Untuk tingkat kesulitan bagi pemula dalam mempelajari ini, dari pendapat di forum-forum banyak yang merasa Laravel lebih sulit dari CI, namun tidak sekompleks Yii.
    1427547421php_framework_popularity_at_work_-_sitepoint2c_2015

Sekarang coba kita bandingkan ketiganya berdasarkan aspek-aspek yang perlu dipertimbangkan dalam memilih framework untuk web developement :

1. Dokumentasi dan learning curve

Secara umum, ketiga framework ini memiliki dokumentasi yang jelas dan terstruktur. Untuk laravel, dokumentasi yang tersedia mencakup hampir semua hal yang dapat dilakukan sehingga memudahkan pekerjaan developer yang berpengalaman ataupun pemula. Yii dan Codeigniter memiliki dokumentasi yang juga lengkap, namun Yii cukup sering mendapat kritikan karena sulit dipelajari dan syntax yang ketat (strict).

Bila diurutkan dari learning curve berdasarkan pendapat yang beredar di forum-forum, CI paling mudah dipelajari dan Yii lebih sulit dipelajari dibandingkan Laravel.

2. Dukungan komunitas

Dari sisi dukungan komunitas. CI menempati urutan terakhir karena dalam pengembangannya cukup tertinggal dibandingkan perkembangan bahasa pemograman PHP. Hal ini disebabkan CI lebih bersifat company driven dibandingkan community driven. CI yang dulunya dipegang oleh EllisLab, dipindahtangankan kepada British Columbia Institute of Technology disebabkan EllisLab merasa tidak memiliki sumberdaya yang cukup untuk mengelola CI. Bahkan dengan CI versi 3 yang terbaru saat ini, banyak pendapat yang mengatakan bahwa CI masih tertinggal dibandingkan framework lain terutama Laravel dan Yii.

Yii dibandingkan Laravel? Cukup sulit karena keduanya sama-sama didukung oleh komunitas yang aktif membantu pengembangan framework tersebut. Namun berdasarkan survey SitePoint dan rating pada Github, Laravel lebih unggul.

3. Code modularity

Semakin modular sebuah framework artinya semakin mudah developer dalam mengembangkan sistem karena banyak modul-modul yang dibuat oleh developer lain yang dapat dipakai. Hal ini menjadi kelemahan dari CI yang tidak memungkinkan developer mengimport package lain ke dalam aplikasi. Untuk Laravel dan Yii, keduanya memungkinkan code modularity. Tapi saya pribadi kurang mengetahui mana yang lebih baik di antara keduanya. Namun dari segi jumlah modul yang tersedia Laravel memiliki lebih banyak package yang bisa didownload (CMIIW)

4. Keunggulan yang diutamakan

Keunggulan dari CI adalah ringan, mudah dipelajari dan zero config framework (tanpa setting-setting khusus seperti Laravel dan Yii, kode pada CI bisa langsung dijalankan). Laravel memiliki keunggulan popularitas di kalangan developer, dokumentasi yang rapi dan lengkap, code modularity yang sangat bagus dan module yang tersedia dalam jumlah banyak, kode program yang rapi dan simpel, migration yang disertai seeder untuk membantu saat testing ataupun mengisi data statis (non-transactional data record). Sementara Yii memiliki keunggulan dalam performa untuk sistem kompleks, code modularity yang sangat bagus, dukungan komunitas yang baik dan dokumentasi yang lengkap.

 

Jadi, setelah melihat-lihat berbagai aspek, saya merasa Laravel dan Yii cukup sebanding. Dari berbagai blog review lain pun lumayan banyak yang tidak bisa memutuskan framework mana yang lebih baik karena memang antara Yii dan Laravel memiliki kelebihan masing-masing.

Saya pribadi memilih Laravel karena tidak terlalu sulit dipelajari, seeder yang sangat membantu untuk testing, banyaknya modul yang bisa didownload untuk memudahkan saya serta banyaknya tutorial untuk pemula dalam menggunakan framework ini (yang paling populer laracasts.com)

Kalau ada info yang kurang tepat mohon bantu dikoreksi karena tujuan tulisan ini dibuat adalah belajar dan berbagi. :)

0
3 Comments
  • Ai Romlah
    November 6, 2016

    Tengkyu Gan atas reviewnya, ane masih nyubi Gan, lagi coba belajar CI… Wah ternyata recommended Laravel ya.. :-)

  • nocode
    November 17, 2016

    Nice review :) . Hanya saja jangan terkecoh oleh popular star dengan reliable code. star tinggi di github tidak selalu menunjukan code lebih hebat dan reliable :)
    Nb: saya yii2 :)

    • Nicolas Ruslim
      June 25, 2017

      siap mas. memang banyak aspek lain yang mungkin dipertimbangkan selain yang ditulis disini. :D

Leave a Reply

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


*