SlideShare a Scribd company logo
1 of 22
Overview
Vue.js (dibaca seperti view) adalah sebuah library untuk membangun
antarmuka web yang interaktif.
Apa yang ditawarkan Vue.js ?
● Simple
● Reactive
● Components
● Compact
● Fast
● Package Ready
Simple
● Write some HTML
● Grab some JSON
● Create a Vue instance
● That's it.
Reactive
Mendukung expression dan computed property
Component
Susun aplikasi dengan menggunakan component yang dapat dipakai kembali
Compact
● 24 kb
● No dependency
Fast
http://regularjs.github.io/example/performance.html
Package Ready
Bisa di-install melalui NPM atau Bower
Compatibility Notes
Vue.js tidak support IE 8 ke bawah
Hello World
Code : https://github.com/sandi-racy/aitindo-sharing-session
Directive
● Directive adalah atribut khusus dengan prefix “v-”
● Value dari directive adalah expression yang bisa disertai filter
● Directive berfungsi untuk meng-apply special behavior kepada DOM ketika
nilai dari expression-nya berubah
Code : https://github.com/sandi-racy/aitindo-sharing-session
Computed Property
In-template expression sangat nyaman, tapi benar-benar ditujukan untuk
operasi sederhana saja.
Template ditujukan untuk mendeskripsikan struktur view, menaruh terlalu
banyak logic di template dapat membuat template menjadi berat dan susah
untuk di-maintain.
Itulah alasan Vue.js membatasi binding expression hanya satu expression
saja. Untuk logic yang memerlukan lebih dari satu expression sebaiknya
menggunakan computed property.
Code : https://github.com/sandi-racy/aitindo-sharing-session
Computed Property vs $watch
Vue.js memberikan method API yang disebut $watch untuk mengamati
perubahan data pada Vue instance. Ketika memiliki beberapa data yang
harus berubah berdasarkan pada data-data yang lain maka bisa
menggunakan $watch (terutama jika familiar dengan AngularJS). Namun,
lebih baik menggunakan computed property daripada $watch.
Code : https://github.com/sandi-racy/aitindo-sharing-session
Jauh lebih baik, bukan ?
Methods and Event Handling
Code : https://github.com/sandi-racy/aitindo-sharing-session
Kenapa Listener di HTML ?
● Mempermudah mencari handler function di kode JS hanya dengan
membaca sekilas template HTML
● Tidak harus menaruh event listener di JS, kode ViewModel dapat hanya
berisi logic dan DOM-free
● Ketika ViewModel dihancurkan, semua event listener otomatis dihapus
Form Input Binding
Code : https://github.com/sandi-racy/aitindo-sharing-session
Transition
● Transition system di Vue.js memungkinkan untuk menerapkan efek transisi
otomatis ketika elemen dimasukan atau dikeluarkan dari DOM
● Vue.js secara otomatis akan menambah atau menghapus class CSS untuk
memicu transisi/animasi
● Vue.js juga memberikan Javascript hook function untuk memanipulasi DOM
selama transisi
Code : https://github.com/sandi-racy/aitindo-sharing-session
Component
Component adalah salah satu fitur paling powerful di Vue.js. Component
membantu meng-extend elemen dasar HTML untuk dapat digunakan
kembali.
Secara sulitnya, component adalah elemen khusus yang compiler Vue.js
akan melampirkan behavior tertentu. Dalam beberapa case, component
juga dapat muncul sebagai elemen HTML asli yang di-extend dengan atribut
khusus.
Code : https://github.com/sandi-racy/aitindo-sharing-session
Plugin
Code : https://github.com/sandi-racy/aitindo-sharing-session
Thank You

More Related Content

Similar to Aitindo Sharing Session

Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterAdi Setiawan
 
Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]trya nita
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Andarias Jacob Calvyn
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Linda Lestari
 
Modul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarModul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarRidwan Fadjar
 
Pengenalan Framework .NET
Pengenalan Framework .NETPengenalan Framework .NET
Pengenalan Framework .NETHelmy Satria
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ciWira Hul
 
Tugas Rekayasa Web 1
Tugas Rekayasa Web 1Tugas Rekayasa Web 1
Tugas Rekayasa Web 1fahreza yozi
 
Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602dewiapril1996
 
Rekayasa Web - CodeIgniter Framework, PrestaShop & Magento Framework
Rekayasa Web - CodeIgniter Framework, PrestaShop & Magento FrameworkRekayasa Web - CodeIgniter Framework, PrestaShop & Magento Framework
Rekayasa Web - CodeIgniter Framework, PrestaShop & Magento FrameworkToni Eko Saputro
 
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...DicodingEvent
 
Codeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniCodeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniAnnisa Nur Fitriyani
 
Tugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniTugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniArie Firmandani
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterBeni Krisbiantoro
 
Html5 ppt
Html5 pptHtml5 ppt
Html5 ppt044249
 

Similar to Aitindo Sharing Session (20)

Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniter
 
Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0
 
Mari belajar vue js
Mari belajar vue jsMari belajar vue js
Mari belajar vue js
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)
 
Modul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarModul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter Dasar
 
Pengenalan Framework .NET
Pengenalan Framework .NETPengenalan Framework .NET
Pengenalan Framework .NET
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Yii2 fundamentals bagian 1
Yii2 fundamentals   bagian 1Yii2 fundamentals   bagian 1
Yii2 fundamentals bagian 1
 
Tugas Rekayasa Web 1
Tugas Rekayasa Web 1Tugas Rekayasa Web 1
Tugas Rekayasa Web 1
 
Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602
 
Rekayasa Web - CodeIgniter Framework, PrestaShop & Magento Framework
Rekayasa Web - CodeIgniter Framework, PrestaShop & Magento FrameworkRekayasa Web - CodeIgniter Framework, PrestaShop & Magento Framework
Rekayasa Web - CodeIgniter Framework, PrestaShop & Magento Framework
 
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
 
Codeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniCodeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur Fitriyani
 
Tugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniTugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandani
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
 
Html5 ppt
Html5 pptHtml5 ppt
Html5 ppt
 
J query
J queryJ query
J query
 
J query
J queryJ query
J query
 

Aitindo Sharing Session

  • 1.
  • 2. Overview Vue.js (dibaca seperti view) adalah sebuah library untuk membangun antarmuka web yang interaktif.
  • 3. Apa yang ditawarkan Vue.js ? ● Simple ● Reactive ● Components ● Compact ● Fast ● Package Ready
  • 4. Simple ● Write some HTML ● Grab some JSON ● Create a Vue instance ● That's it.
  • 6. Component Susun aplikasi dengan menggunakan component yang dapat dipakai kembali
  • 7. Compact ● 24 kb ● No dependency
  • 9. Package Ready Bisa di-install melalui NPM atau Bower
  • 10. Compatibility Notes Vue.js tidak support IE 8 ke bawah
  • 11. Hello World Code : https://github.com/sandi-racy/aitindo-sharing-session
  • 12. Directive ● Directive adalah atribut khusus dengan prefix “v-” ● Value dari directive adalah expression yang bisa disertai filter ● Directive berfungsi untuk meng-apply special behavior kepada DOM ketika nilai dari expression-nya berubah Code : https://github.com/sandi-racy/aitindo-sharing-session
  • 13. Computed Property In-template expression sangat nyaman, tapi benar-benar ditujukan untuk operasi sederhana saja. Template ditujukan untuk mendeskripsikan struktur view, menaruh terlalu banyak logic di template dapat membuat template menjadi berat dan susah untuk di-maintain. Itulah alasan Vue.js membatasi binding expression hanya satu expression saja. Untuk logic yang memerlukan lebih dari satu expression sebaiknya menggunakan computed property. Code : https://github.com/sandi-racy/aitindo-sharing-session
  • 14. Computed Property vs $watch Vue.js memberikan method API yang disebut $watch untuk mengamati perubahan data pada Vue instance. Ketika memiliki beberapa data yang harus berubah berdasarkan pada data-data yang lain maka bisa menggunakan $watch (terutama jika familiar dengan AngularJS). Namun, lebih baik menggunakan computed property daripada $watch. Code : https://github.com/sandi-racy/aitindo-sharing-session
  • 15. Jauh lebih baik, bukan ?
  • 16. Methods and Event Handling Code : https://github.com/sandi-racy/aitindo-sharing-session
  • 17. Kenapa Listener di HTML ? ● Mempermudah mencari handler function di kode JS hanya dengan membaca sekilas template HTML ● Tidak harus menaruh event listener di JS, kode ViewModel dapat hanya berisi logic dan DOM-free ● Ketika ViewModel dihancurkan, semua event listener otomatis dihapus
  • 18. Form Input Binding Code : https://github.com/sandi-racy/aitindo-sharing-session
  • 19. Transition ● Transition system di Vue.js memungkinkan untuk menerapkan efek transisi otomatis ketika elemen dimasukan atau dikeluarkan dari DOM ● Vue.js secara otomatis akan menambah atau menghapus class CSS untuk memicu transisi/animasi ● Vue.js juga memberikan Javascript hook function untuk memanipulasi DOM selama transisi Code : https://github.com/sandi-racy/aitindo-sharing-session
  • 20. Component Component adalah salah satu fitur paling powerful di Vue.js. Component membantu meng-extend elemen dasar HTML untuk dapat digunakan kembali. Secara sulitnya, component adalah elemen khusus yang compiler Vue.js akan melampirkan behavior tertentu. Dalam beberapa case, component juga dapat muncul sebagai elemen HTML asli yang di-extend dengan atribut khusus. Code : https://github.com/sandi-racy/aitindo-sharing-session