Ebook Gratis : Belajar KnockoutJS

Saat ini banyak framework atau library JavaScript yang bisa kita pake untuk bikin aplikasi web interaktif. Kalo Anda ngikutin perkembangan JavaScript, sekarang kita bisa pake Backbone, Angular, Dojo, dan lain-lain. Hampir setiap bulan muncul library atau framework baru.

“Ngapain pake library lagi? JQuery udah cukup.”. Untuk aplikasi sederhana atau sekedar bikin cantik halaman web, mungkin udah cukup. Kalo kita bikin aplikasi yang relatif rumit, dengan banyak data, operasi CRUD, elemen visual yang kompleks, dan lain-lain, kalo hanya pake JQuery bisa dipastiin kode yang kita tulis terlalu rumit dan nggak maintainable. Di sini peran library yang nyediain struktur seperti KO, Backbone, dan lain-lain.

Continue reading →

Making Dooitkoo – Bagian 7 : Dashboard

Lanjutan dari Bagian 6

Semua aplikasi yang punya banyak konten terstruktur pasti punya yang namanya dashboard. Untuk Dooitkoo, saya ingin dashboard bisa nampilin sekilas info tentang masing-masing subjek. Jadi sekali lirik, user bisa liat status terakhir semua subjek dalam bulan yang bersangkutan. Karena tujuannya “sekilas info”, ga ada pilihan bulan & tahun. Kalo misalnya user buka aplikasi pada bulan Mei 2013, info yang ditampilin adalah data bulan Mei 2013. Kalo buka di bulan April 2014, data yg ditampilin juga data bulan April 2014. Bulan & tahun diambil dari seting komputer user (local date & time).

Flow di Dashboard juga sederhana. Awalnya user lihat daftar subjek. Dia punya pilihan lihat ringkasan salah satu subjek atau bikin subjek baru. Kalo pilih liat ringkasan, dia punya pilihan untuk edit, hapus, atau buka subjek yang bersangkutan.

Dashboard flow

Continue reading →

Making Dooitkoo – Bagian 6 : The Client

Di sisi klien (browser) saya pakai beberapa library, yang utama adalah KnockoutJS, sebuah library javascript yang menyediakan fasilitas data-binding antara elemen HTML dan data (model). Selain Knockout, saya juga pake antara lain:

  • jquery
  • moment
  • accounting
  • toastr
  • yepnope
  • amplify

Karena saya terbiasa koding pake bahasa yang strongly & statically-typed (ActionScript 3.0), pengalaman pertama dengan JavaScript terasa sangat menyebalkan. Error ga jelas, ga ada compile-time checking, refactoring yg kadang malah bikin error, dsb. Tapi karena udah niat belajar untuk menguasai JavaScript, sebelnya ditahan-tahan aja. Lama-lama juga terbiasa.

Struktur aplikasi

Struktur klien ga terlalu rumit. Hanya ada 4 komponen utama yaitu:

  1. ViewModel
  2. Data Object
  3. Modul Data Service. Semua request ke server harus lewat module ini.
  4. Publisher-subscriber (pub-sub) channel. Mirip konsep event-bus di flash/flex.

Continue reading →