INFO KURSUS YII 2 LP2M ARAY


default image lp2maray.jpg

PENDAHULUAN YII 2

Yii merupakan salah satu framework PHP juga mendukung banyak fitur seperti MVC, ORM/ActiveRecord, I18N/L10N, caching, authentication & role-based access control, scaffolding, testing, dsb. Pada versi terakhir yaitu 2.0, Yii mendukung teknologi & standard baru seperti composer, almost PSR, PHP7, HHVM dsb. Dan lebih lengkap tentang Yii silahkan mengunjungi website resminya http://www.yiiframework.com.

YYii juga memiliki beberapa fitur yaitu:



Tujuh Alasan Kenapa Memilih YII

Berikut ini beberapa penjelasan mengapa anda sebagai developer PHP sebaiknya tidak menggunakan framework ini sebagai basis dari coding anda. (Reff: https://medium.com/@hafidmukhlasin/)
  1. Framework PHP Jadul
    Yii tergolong framework PHP yang berusia tua (2006) bahkan sebagaimana yang dipaparkan diatas bahwa foundernya telah menciptakan framework prado pada tahun 2004. 10 tahun sudah framework ini eksis.
    Lalu apa masalahnya pada framework yang berusia tua? Dengan perkembangan teknologi yang demikian pesat,
    maka dikhawatirkan Yii tidak mengikuti perkembangan itu dan mempertahankan diri mengikuti best practice yang telah lama ditinggalkan oleh banyak developer. Meski sebenarnya kekhawatiran ini menjadi tidak berdasar, mengingat tiga hal berikut yaitu:
    • Sejak awal dibangun Yii hanya fokus pada PHP 5, ini merupakan visi yang jauh lebih maju dibandingkan dengan framework lain di tahun 2006 dimana banyak yang masih mendukung atau berkutat di PHP 4.
    • Diskusi ilmiah tentang teknologi baru di github Yii begitu massive. Menunjukkan bahwa developer Yii care terhadap perkembangan teknologi baru.
    • Sejak launchinya versi 2.0 dimana Yii mendukung teknologi & standard baru seperti composer, almost PSR, PHP7, HHVM dsb.

  2. Performanya Bukan Yang Terbaik
    Jika dibandingkan dengan framework lain khususnya yang full stack PHP dan no PHP c-extension maka performa Yii bukan yang tercepat. Berikut ini data hasil benchmark yang telah penulis buat berdasarkan source benchmark populer https://github.com/kenjis/php-framework-benchmark,
    yaitu CI3 (565 rps), Yii2 (393 rps), Zend2 (99 rps), Laravel5 (65 rps) dan Symfony(6 rps).
    Yii versi 2 menempati posisi ke dua dibawa code ignitier. Belum lagi jika dibandingkan dengan micro framework dan framweork dengan dukungan C extension. Meski bukan yang terbaik namun performa Yii tergolong bagus, mengingat fitur fitur yang ditawarkan sangat lengkap.

  3. Membuat Anda Tidak Care Terhadap Security
    Secara built-in, Yii hadir dengan banyak fitur terkait application security seperti: authentication & authorization, tools untuk mengatasi SQL injections XSS attacks CSRF attacks, input validation standard & output filtering, fitur hash password encrypt & decrypt, telah di review oleh web security expert (Tom Worster and Anthony).
    Artinya ketika kita mengikuti best practice Yii maka by default Yii sudah aman. Saya pernah membuktikannya sendiri betapa tim quality assurance bersusah payah dalam melakukan penetration tester kepada aplikasi yang dibuat menggunakan Yii (2.0). Sehingga mereka menyimpulkan bahwa aplikasi tersebut secure. Padahal ketika membuatnya saya dan team lemah sekali pada pengetahuan tentang security.
    Pertanyaan-pertanyaan tentang securitypun sangat jarang ditemui pada diskusi-diskusi di dunia maya. Hal ini tentu akan membuat anda tidak care terhadap security jika menggunakan framework Yii, karena security Yii membuat security yang harusnya ribet menjadi mudah, dan otomatis.

  4. Banyak Hal-Hal Instan di Yii
    Ada banyak hal-hal yang bersifat “instan” di Yii, pada bagian sebelumnya telah dibahas bahwa security di Yii juga bersifat instan. Developer yang menggunakan Yii menjadi manja, atau bahkan konon karena instan tersebut maka dikatakan framework ini membuat developer semakin bodoh. Apa sebenarnya yang terjadi? Benarkah demikian?

    Yii menganut prinsip convention over configuration, artinya konfigurasi di Yii sudah disetting pada hal-hal yang sudah umum.
    Misal secara umum, form mempunyai field token yang digunakan untuk security, maka Yii by default melakukannya. Setiap aplikasi membutuhkan routing tertentu, maka tanpa setting apapun Yii telah mengenerate routing secara otomatis. Menurut sebagian orang hal ini tidak flexible. Apa enaknya coding kalau semua sudah otomatis?

    Yii mempunyai fitur generator Code bernama Gii. Cukup dengan mendefiniskan nama tabel maka kita bisa membuat aplikasi CRUD untuk tabel tersebut tanpa coding apapun. Banyak yang tidak suka dengan cara instan ini.

    Yii mempunyai fitur-fitur untuk memudahkan membuat tampilan web, yaitu widget. Misal membuat form, membuat data tabel (paging, sorting dsb), membuat alert, semua sudah ada widgetnya. Definisi codingnya sederhana namun hasil tampilannya luar biasa. Yii seolah mengajari kita cara coding, bagi sebagian developer, keterlibatan Yii yang terlalu banyak akan membuat mereka merasa tersaingi

    Banyak developer tidak menyukai hal ini. Coding adalah art atau seni, tidak cukup aplikasi jalan saja. Usaha keras nan manual memberi kepuasan tersendiri bagi sebagian developer. Oleh karena itu penganut aliran ini akan mengharamkan code builder, dan convention over configuration, serta tidak mementingkan kecepatan dalam pembuatan aplikasi. Apa fokus mereka? Keindahan bait-bait kode itu lebih penting dari segalanya.

    Berikut ini beberapa fitur dari Yii yang bisa mengancam “eksistensi” developer itu sendiri, maksudnya mengurangi peran dari developer untuk membuat suatu aplikasi. Pembuatan aplikasi akan berlipat-lipat kali lebih cepat dibandingkan tanpa menggunakan Yii, tentu bagi sebagian developer hal ini gak asik. Kenapa? Karena mencintai coding adalah berlama-lama dengan coding, itu nikmat menurut mereka.
    • Support PHP Dependency Manager — Composer
    • Integrate with User Interface Framework — Twitter Boostrap, and You can use the other
    • Application Template
    • Built-in Scafolding Generator — Gii
    • Centralize Validation in models, (client & server validation)
    • Many built-in useful Widgets
    • Automatic routing (by default)
    • Simplify to create API Restful Web Service
    • Integrate with Testing Tools — Codeceptions
    Meskipun demikian, hal-hal instan ini bisa kita matikan di Yii terutama bagi penganut aliran manualisme di atas

  5. Tidak Cepat dalam Mengadopsi Teknologi Baru
    Perkembangan teknologi IT yang sangat cepat seolah tidak diperhatikan oleh Yii. Banyak teknologi baru yang tidak segera di adopsi oleh Yii. Para para early adopter atau developer dengan jiwa muda maka hal ini tentu kurang cocok. Mereka ingin segera mengadopsi teknologi baru meskipun hal itu belum mature atau meskipun hal itu tidak benar-benar dibutuhkan.

    Apa yang sebenarnya terjadi? Benarkah Yii menutup mata terhadap perkembangan teknologi baru?
    Saat ini Yii mempunyai 2 versi yaitu versi 1 yang dilaunching sejak 2008 (beta 2006) sampai sekarang 2016 masih terus di support bugfix dan patch. Support selama lebih dari 10 tahun ini menunjukkan keseriusan dukungan Yii bagi para developer yang menggunakannya. Yii memastikan penambahan fitur baru tidak menyebabkan break change atau setidaknya meminimalkan hal itu. Lalu pada tahun 2014, Yii merelease versi 2.0 yang merupakan hasil tulis ulang dari versi 1. Yap 10 tahun baru punya 2 versi. Jika anda teknologi fansboy maka Yii tidak cocok, namun jika anda mementingkan reliability dan dukungan yang lebih lama maka Yii sangan cocok terutama untuk aplikasi-aplikasi enterprise.
    Artinya jika kita mengadopsi teknologi terlalu cepat tanpa mensupportnya maka apa artinya menggunakan Yii sebagai framework?. Itu hanya akan menjadi mainan anak-anak. Bukan untuk membangun real project yang bertahan hingga bertahun-tahun (1 dekade).

    Ada dua prinsip dasar bagi developer sebelum memutuskan untuk mengadopsi teknologi baru yaitu apakah teknologi tersebut memang benar-benar dibutuhkan saat ini? dan apakah adopsi terhadapnya akan membuat break changes?. Diskusi-diskusi ilmiah tentang teknologi baru cukup massive di github Yii.

  6. Keputusan di Yii diambil oleh Banyak Core Developer
    Awalnya Yii hanya didevelop oleh satu orang yaitu Qiang Xue selaku foundernya. Kemudian seiring waktu bergabunglah beberapa developer terbaik dunia untuk membantu mengembangkan Yii dan menjadi core developer.
    Saat ini ada 6 core developer Yii yang masing-masing punya suara untuk menentukan apakah suatu fitur di adopsi atau dibuang, tentunya dengan prinsip sebagaimana yang saya sebutkan diatas. Diskusi-diskusi ilmiah seringkali cukup alot untuk menentukan hal itu. Siapapun juga bisa mengikuti diskusi tersebut melalui github issue.
    Jadinya, Yii bukan one man show. Tidak akan ada sebuah fitur yang tiba-tiba ada atau tiba-tiba menghilang. Semua melewati diskusi ilmiah.

  7. Bukan Framework Populer
    Berdasarkan survey terakhir 2015. Yii menempati posisi ke lima dunia. Hal ini menujukkan bahwa Yii bukanlah yang terpopuler.
    Namun meskipun demikian jumlah komunitas Yii tergolong besar, berikut ini datanya.
    • https://web.facebook.com/groups/yiitalk 28.052
    • https://web.facebook.com/groups/yii.indonesia 23.140
    • http://www.yiiframework.com/forum 179.865
    • http://stackoverflow.com/search?q=yii 41.124
    • https://github.com/yiisoft/yii2 fork: 4453, star 7591

Itulah 7 alasan yang bisa dijadikan pertimbangan untuk tidak memilih Yii sebagai framework PHP anda. Lalu adakah website Indonesia yang menggunakan Yii (versi 2) sebagai frameworknya? Berikut ini beberapa contohnya: http://m.urbanindo.com (jual beli properti), http://www.rajamobil.com (jual beli mobil), http://www.chasebrandbali.com (jual beli pakaian), http://smartgorontalo.net (smart city gorontalo), https://pictalogi.com (digital publishing).

 



Silabus Materi YII 2:

Durasi 5Hari @3jam Biaya : 800.000;
Konsep dan Implementasi MVC
Pengenalan Tipe Data,Komponent Standard dan Latihan Pemrograman 
Membuat Kalkulator MVC via Button, Radio,CheckBox,ListBox

Mengenal Struktur Menu, 
Manipulasi String (String dan regular expression),
Mendesain View Interface,
Tipe Data, Operator, iterator + Latihan program 
Membuat Aplikasi kalkulator Toko Klontong

Teknik Pemrograman,
Koneksi Database,
CRUD(Create Read Detail Update Delete Search Database)
Latihan Aplikasi

Mengakses Database,
Implementasi Database pada menu Login
Implementasi Database pada menu List
Implementasi Database pada menu Search
Implementasi Database pada menu Paging

Database Lanjutan,
Koneksi 2 tabel,Query,
Bonus Mempaketkan pustaka dalam pemrograman
Membuat Relasi dan Report
Latihan Program & Evaluasi.




Tutorial

Link Pembelajaran LP2M ARAY