Lifecycle Sebuah Windows App

Dalam merancang sebuah Windows App, kita perlu tahu bagaimana sebuah aplikasi “menjalani kehidupannya”, karena skema hidup Windows App sedikit berbeda dengan aplikasi desktop pada umumnya. Dengan memperhatikan lifecycle sebuah aplikasi, kita bisa menghadirkan user experience yang nyaman bagi pengguna App kita.

Secara umum, lifecycle (daur hidup) sebuah Windows App bisa digambarkan dengan state-diagram berikut:

Lanjutkan membaca Lifecycle Sebuah Windows App

Windows App Cert Kit: Periksa App Sebelum Upload ke Store

Salah satu tahapan yang akan dilalui App kita sebelum ditayangkan oleh Microsoft di Store (baik Windows Store maupun Windows Phone Store) adalah pengujian. Semua aplikasi yang akan ditayangkan pasti diuji dulu secara otomatis. Beberapa aplikasi akan diuji secara manual, tapi mayoritas tidak akan melalu pengujian manual lagi.

Nah … kayaknya repot ya kalau misalnya buat App yang ukurannya besar, terus sudah upload lama-lama (apalagi kalau pakai koneksi umum di Indonesia — lain hal kalau misalnya pakai koneksi di kampus :D), terus ternyata hasil pengujiannya gagal?

Untungnya, Microsoft punya aplikasi Windows App Certification Kit. Aplikasi ini sudah include dengan Windows Development Kit yang bisa diinstal bersama Visual Studio. Dengan aplikasi ini, kita bisa menguji App yang sudah dibuat secara lokal. Konon katanya, kalau sudah lolos pengujian di sini, kemungkinan besar akan lolos juga di Store karena metode pengujiannya sama.

Lanjutkan membaca Windows App Cert Kit: Periksa App Sebelum Upload ke Store

Implementasi Asynchronous pada Feed Reader (C#)

Kemarin, saya share mengenai teknik pemrograman asynchronous pada C# menggunakan await dan async. Sekarang, saya akan coba kasih contoh nyata dari kode program POLBAN News Reader yang saya buat. 🙂

Jadi, pada aplikasi saya ada sebuah class bernama FeedDataSource yang berfungsi menampung daftar item dari RSS website POLBAN dan mengambil item-item tersebut. Daftar item ditampung pada sebuah properti Feeds seperti berikut:

private ObservableCollection<FeedItem> _Feeds = new ObservableCollection<FeedItem>();
public ObservableCollection<FeedItem> Feeds
{
    get { return _Feeds; }
}
Lanjutkan membaca Implementasi Asynchronous pada Feed Reader (C#)

Asynchronous dengan “await” dan “async” pada C#

Dulu, saat saya sering membuat halaman-halaman web sederhana, saya beberapa kali memanfaatkan asynchronous programming untuk beberapa keperluan. Secara sederhana, asynchronous programming adalah teknik di mana suatu fungsi berjalan dengan thread yang berbeda dengan thread utama, sehingga bisa menjalankan dua atau lebih fungsi dalam waktu yang bersamaan.

Sebagai contoh, jika saya memiliki fungsi getData() yang berfungsi mengambil data siswa dari http://mhs.polban.ac.id/ misalnya, maka waktu prosesnya akan bervariasi pada berbagai kondisi. Jika kondisinya stabil (baik pada client maupun pada server) maka delay yang dirasakan mungkin tidak signifikan.

Namun, bagaimana jika kondisinya tidak stabil?

Lanjutkan membaca Asynchronous dengan “await” dan “async” pada C#

Universal Apps, Write-Once-(Almost)-Run-Everywhere

Seumur-umur membuat software (kecil-kecilan), saya baru tahu beberapa waktu terakhir kalau di ekosistem Windows Apps saat ini ada konsep Universal Apps. Pertama kali mendengar istilah ini, saya pikir dengan Universal Apps kita dapat membuat suatu aplikasi Windows Apps dan aplikasi yang sama juga berjalan di Windows Phone.

Well, setelah baca-baca di berbagai sumber (terutama MSDN), asumsi saya ternyata “benar” untuk Windows 10. (Yeay! Write once, run everywhere!) Apalagi santer dibicarakan di berbagai rilis-rilis yang kita baca kalau Windows 10 ini memang akan jadi one OS to rule them all. Di Windows 10, ada suatu konsep bernama Universal Windows Platform yang intinya setiap device yang berbeda (desktop, mobile, …, bahkan Xbox) memiliki implementasi Windows Core yang sama, sehingga aplikasi yang dikembangkan dapat memanfaatkan core tersebut untuk mampu berjalan di berbagai device.

Nah, bagaimana untuk adiknya, Windows 8.1?

Lanjutkan membaca Universal Apps, Write-Once-(Almost)-Run-Everywhere