11
Jun 13

Belajar Titanium – Bagian 2 : UI

Titanium (Ti) menyediakan 3 kategori elemen visual berdasarkan fungsinya. Berikut ini beberapa komponen yang paling banyak digunakan:

Layout Input Info
  • Window
  • View
  • TableView
  • TableViewRow
  • ScrollView
  • Button
  • TextField
  • TextArea
  • Switch
  • Slider
  • Picker
  • ProgressBar
  • ImageView
  • ActivityIndicator
  • Label
  • TableView
  • AlertDialog
  • WebView

Dalam bagian ini saya akan mengenalkan beberapa komponen dasar untuk pembuatan user iterface.

Continue reading →


09
Jun 13

Belajar Titanium – Bagian 1 : Hello World

Saat ini kita bisa mengembangkan aplikasi mobile dengan bahasa selain bahasa resmi (native) platform yang bersangkutan (Java/C++ untuk Android, Objective-C untuk iOS). Tools yang memungkinkan kita bikin banyak aplikasi dengan satu codebase biasa disebut cross-platform SDK. Beberapa yang populer antara lain:

SDK Bahasa
Adobe AIR ActionScript 3.0
Corona, Gideros Mobile, Moai Lua
Xamarin, Unity C#
Marmalade, Cocos2D-X C++
PhoneGap/Apache Cordova HTML,CSS,JavaScript
Appcelerator Titanium JavaScript

Continue reading →


31
May 13

Making Dooitkoo : Stupid Bug

Beberapa hari yang lalu nemuin bug yg bikin web app crash. Ga tau kenapa bug ini ga ada sebelumnya. Padahal sebelum bug ini ketauan ga ada update yg di-pull ke production. Hari ini nemuin bug lagi … beuh. Gini deh kalo kerja sendiri ga ada yg bantuin QA.

Untuk bikin hotfix, saya bikin dulu git branch.

Benerin bug di branch ini, terus tes lokal. Push ke git repo biar bisa dites di staging.

Login ke staging. Pull terus aktifin branch.

Tes dulu di staging. Semua keliatannya OK. Bug udah dibasmi.

Balik ke lokal. Merging branch ke master. Terus push ke repository & hapus branch.

Login ke production & update.

Whewww…


25
May 13

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 →


22
May 13

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 →