Jumat, 02 November 2012

8 Langkah Memulai Pengembangan Aplikasi Windows 8 (ALM)

PENGANTAR:

Adopsi teknologi selalu memberi dua sisi layaknya mata uang logam. Pada satu sisi memberikan manfaat di sisi lain memberikan tantangan. Gaung Windows 8 sudah mulai bergema, berbagai sambutan positif, skeptis atau bahkan pragmatis menyelimuti detik-detik adopsi sistem operasi ini bagi masyarakat. Pertanyaannya yang lahir dari adopsi satu ke adopsi yang lain pun tentu masih sama. Apakah organisasi akan segera mengadopsi? Apakah organisasi akan menunda atau organisasi akan masih mengkaji antara cost vs benefit.

Pada sudut pandang ALM (Application Lifecycle Management). Berbagai tantangan dan manfaat adopsi sebuah teknologi itu lumrah. Bahkan pada kisi pengetahuan ALM sendiri mengemukakan “adopsi teknologi atau sistem itu pasti hanya tinggal menunggu sumber daya, waktu, dan juga anggaran”. Bila demikian adanya, maka kepastian adopsi Windows 8 bagi pengguna Windows 7, Vista, atau bahkan XP hanya tinggal menunggu. Penantian ini bagi organisasi, personal, atau bahkan komunitas pemerhati teknologi dapat dijadikan sebagai suatu waktu yang dapat digunakan untu mulai belajar dan mengembangkan solusi di atas platform ini. 

Artikel ini memfokuskan 8 langkah yang harus dipersiapkan bagi organisasi, personal, atau komunitas yang memandang kelahiran Windows 8 sebagai peluang untuk berkarya dan membuat aplikasi. Dukungan teknologi WinRT, adopsi perangkat berbasis ARM, antarmuka Metro, hingga marketplace yang baru akan dibahas dalam 8 langkah memulai pengembangan Windows 8.

Catatan Penting Sebelum Memulai

Sebelum memulai disarankan Anda telah memiliki dan memasangkan perangkat atau layanan yang dikemukakan sebagai berikut:
  1. Windows Live ID. Sebuah layanan email yang dapat digunakan oleh personal atau kelompok (melalui Windows Live Domain). Windows Live ID ini dibutuhkan untuk mengaktifkan akun developer di Visual Studio 11.
  2. Windows 8 dengan berbagai variannya
  3. Visual Studio 11
Apabila Anda belum memilikinya Anda dapat mengunduh di MSDN atau di tautan yang dapat Anda lihat di bagian Informasi Lebih Lanjut.


Langkah 1. Memahami Arsitektur Windows 8

Windows 8 memiliki arsitektur yang secara signifikan berbeda dengan Windows 7 atau Windows Vista. Gambar 1 menjelaskan secara visual perbedaan tersebut.



Delapan poin penting yang dapat Anda temukan dari arsitektur tersebut adalah:
  1. Terdapat dua jenis Aplikasi pada Windows 8 yakni Metro Style Apps dan aplikasi Desktops Apps (Klasik). Aplikasi klasik sama dengan Aplikasi Windows 7 dan Vista. Aplikasi metro mengadopsi antarmuka Windows 8 yang merupakan inovasi baru di Windows 8 yang mengadopsi keberhasilan Windows Phone 7.
  2. Metro Style Apps akan berjalan disetiap platform distribusi Windows 8 (Windows 8, Windows 8 Pro, dan Windows RT)) tetapi Desktops Apps hanya akan berjalan di platform Windows 8 dan Windows 8 Pro. Hal ini patut dipahami karena Windows RT adalah Windows 8 yang didesain untuk proessor berbasis ARM yang saat ini banyak dipakai untuk Tablet PC dan perangkat portabel lainnya.
  3. Baik Desktop Apps ataupun Metro Apps mampu mengakses layanan Windows Core OS dengan bantuan runtime atau API tertentu.
  4. Windows 32 API, .NET, SliverLight API dapat digunakan untuk pengembangan aplikasi desktop Apps
  5. HTML dan XAML dapat digunakan sebagai teknologi antarmuka untuk kebutuhan pengembangan Metro Apps.
  6. Javascript, C# , VB, C++, dan C dapat digunakan untuk pengembangan aplikasi berbasis metro Apps. Hal ini membantu developer untuk dapat mengembangkan aplikasi dengan bahasa pemograman yang sudah dikuasai
  7. WinRT API akan sedikit berbeda dengan .NET Framework API dan tidak semua assembly yang dibuat oleh .NET API dapat dikonsumsi oleh WinRT API. Hal ini dikarenakan WinRT API didesain portabel untuk mendukung komputasi berbasis ARM dan x86, sementara .NET 4.5 API hanya dapat berjalan di x86/x64.
  8. Windows RT (Windows 8 Tablet) hanya akan tersedia melalui OEM tidak akan dikemas dan dijual dalam bentuk retail seperti layaknya Windows 8 Pro dan Windows 8.
Langkah 2. Memilih Target Aplikasi

Berdasar langkah satu sangat mudah dipahami bahwa pilihan jenis aplikasi ada dua yakni Desktop Apps dan Metro Apps. Berita baiknya bagi aplikasi Desktop Apps terdahulu maka aplikasi akan tetap berjalan dengan baik. Peluang yang nyata tampak pada aplikasi berjenis Metro Apps yang relatif baru dan penuh peluang dari sisi jenis aplikasi dan distribusi aplikasi yang menjangkau perangkat di luar PC. Dengan kata lain:
  1. Pilihlah pengembangan Metro Apps apabila tujuannya adalah produk dan solusi konsumen. Pasar aplikasi Metro Apps sangat terbuka dan minim kompetisi.
  2. Pilihlan Aplikasi Desktop Apps apabila target pengembangan adalah untuk komputasi yang lebih serius seperti pengembangan Aplikasi Lini bisnis. Pilihan penggunakan Lightswitch dan Windows 8 adalah kombinasi yang tepat dalam pengembangan aplikasi di area ini.
  3. Pilihlah desktop apps untuk melanjutkan aplikasi yang sudah ada terdahulu. Rumor Microsoft akan meninggalkan .NET dan beralih ke WinRT tidaklah benar untuk saat ini.
Langkah 3 Perdalam HTML + Javascript atau C# + XAML + .NET

Pilihan yang sulit karena keduanya sama-sama didukung di Windows 8. Sarannya cukup sederhana yakni dengan melakukan langkah-langkah sebagai berikut:
  1. Analisis “gap” antara skill yang dimiliki saat ini dengan yang dibutuhkan pada Windows 8. Cari jalur terpendek dan mulailah buat produk sekarang.
  2. Cara terbaik adalah dengan memberikan tim tugas istimewa untuk membuat prototipe aplikasi di atas metro apps kemudian mencobanya dengan kedua pendekatan (HTML/JS vs. C#/NET) yang tercepat bisa jadi cocok bagi tim untuk dikembangkan
  3. HTML+JS cukup baik dari sisi UX dan mwerupakan standar web yang sudah diakui, antarmuka dan pengalaman pengguna mudah diporting ke platform lain (kecuali API pada WinRT), sementara C#/NET akan unggul dikomputasi. Kondisi demikian memang spesifik dan menjadi pilihan untuk setiap kasus.
Langkah 4. Adopsi Metode Pengembangan RAD untuk ALM Solusi Anda

Langkah empat adalah selalu memanfaatkan momentum. Microsoft dan komunitas pada umumnya mengadakan kegiatan atau workshop yang memudahkan Anda memahami karakteristik Windows 8. Suatu hal yang harus diperhatikan adalah mulailah mengembangkan kode aplikasi sekarang dengan ide sesederhana mungkin. Beberapa tautan yang dapat Anda gunakan untuk kebutuhan ini adalah dengan mengunjungi beberapa sumber daya yang bisa diakses secara Cuma-Cuma sebagai berikut:
  1. Kunjungi situs MSDN untuk mengunduh berbagai macam perangkat bantu dan tutorial. Anda dapat mengunjunginya di tautan berikuthttp://msdn.microsoft.com/en-sg/windows/apps
  2. Pahami kapabilitas dan keterbatasan Windows 8 khususnya pada dari sisi API . Perhatikan apa yang bisa dilakukan dengan kapabilitas yang dimiliki sekarang. http://go.microsoft.com/fwlink/?LinkId=238697
  3. Bersiap untuk membuat prototipe aplikasi apapun dan pahami perbedaan API yang terjadi. API pada Metro Apps sedikit berbeda dan mungkin tidak mendukung API yang terdahulu. Sebagai contoh apabila Anda menggunakan BingMap Ajax API untuk kebutuhan MetroApps maka mungkin hal tersebut pada saat tulisan ini ditulis belum mendukung. Solusinya adalah berpindah ketopik aplikasi lain yang memungkinkan ketimbang menunggu kesiapan API.
  4. Rancang aplikasi Anda dengan memikirkan desain aplikasi ceklist berikut:

    a. Deskripsikan Aplikasi dengan bahasa sederhana berupa masalah yang akan diselesaikan

    b. Rancang High Level Architecture, sebagai contoh bisa dilihat pada Gambar 2.

    c. Buat daftar isu yang terjadi terkait dengan keterbatasan aplikasi atau API yang saat ini ada.

    d. Desainlah setidaknya antarmuka konseptual.

    e. Susun sebuah timeline pengembangan beserta milestone yang akan dicapai pada setiap fase di timeline tersebut
highlevelarchw8


Langkah 5. Pahami API-API yang 

Banyak di Gunakan API menjadi senjata utama dalam pengembangan aplikasi. Bahkan API juga dapat menjadi penghambat pengembangan manakala Anda membutuhkannya tetapi platform belum mampu menyediakannya. Satu hal yang harus selalu diperhatikan adalah tautan mengenai referensi API yang terdapat dihttp://bit.ly/IHbou6 . Hal lain yang bisa diperhatikan adalah:
  1. WinRT API berbeda dan bisa jadi tidak kompatibel dengan .NET API karena ada perbedaan target arsitektur. Pemahaman ini mengharuskan Anda sedikit menginvestasikan waktu untuk belajar.
  2. Windows Storage API (dapat dilihat di tautan http://bit.ly/IHbou6)
  3. Data Binding API (dapat dilihat di tautan http://bit.ly/IHbou6)
  4. Dukungan peta di Windows 8 masih terbatas tetapi sudah direncanakan. Anda bisa menggunakan tautan berikut http://bit.ly/JX6dUm
  5. App Sharing API (dapat dilihat di tautan http://bit.ly/IHbou6)
Langkah 6. Aspek User Experience yang jangan diLupakan

Antarmuka memiliki peran besar dalam mendongkrak aplikasi berbasis windows 8. Windows 8 saat ini menggunakan antarmuka metro style yang tentu dikembangkan oleh Microsoft dengan berbagai standar dan rekomendasi. Berbagai hal yang harus dipelajari adalah:
  1. Memahami prinsip-prinsip dasar antarmuka pada Windows 8 metro apps yang bisa dibaca di tautanhttp://msdn.microsoft.com/library/windows/apps/hh779072/
  2. Memahami berbagai pola-pola memahami penggunaan sentuh, navigasi, dan perintah dan berbagai kajian terkait dengan UX pada aplikasi Windows 8 sebagai yang bisa di baca pada sumber daya berikut http://msdn.microsoft.com/id-id/library/windows/apps/hh770552
  3. Mempelajari aplikasi-aplikasi Windows 8 Metro Apps terdahuldan memahami berbagai pola di antarmuka aplikasi tersebut http://msdn.microsoft.com/id-id/library/windows/apps/hh770549
  4. Mengunduh berbagai asset desain yang dapat bermanfaat sebagai dasar awal pengembangan aplikasi http://go.microsoft.com/fwlink/?LinkId=241449
Selain itu jangan pula lupakan kepiawaian Blend dalam membantu melakukan desain UX untuk Windows 8 di tautan berikuthttp://www.expressionblend.com/articles/tag/metro/

Langkah 7. Sederhana dan Inkremental

Apakah Aplikasi yang ada dipasaran berasal dari algoritma matematika yang kompleks, atau dari sesuatu ide yang brilian?. Jawabannya Ya! Namun hanya sebagian kecil saja, aplikasi yang berhasil di pasaran terkadang aplikasi yang sederhana atau aplikasi yang sudah terbiasa di platform lain kemudian diporting dengan berbagai manfaatnya. Analisis objektif terkait dengan pasar Windows 8 Metro Apps dapat dilihat di tautan berikut http://bit.ly/IYsQro . Beberapa saran untuk langkah ini adalah:
  1. lai dari yang sederhana dan bisa ditingkatkan. Aplikasi berhitung di Windows 8 dapat menjadi menarik apabila kita mentargetkan untuk seorang balita.
  2. Segera publikasikan walau masih sederhana. Aplikasi yang dirilis tidak harus punya 12 fitur, tetapi yang terpenting adalah bagaimana dia mendarat di pasar di waktu yang tepat walau hanya 3 fitur.
  3. Publikasikan aplikasi Anda yang pertama dengan mekanisme sederhana. Lupakan mekanisme member yang rumit, model berlangganan, atau bahkan pembelian di muka. Lepaskan aplikasi pertama dengan free cari massa dan simpatisan aplikasi Anda.
Market Windows 8 masih berkembang dan masih banyak peluang untuk meluncurkan aplikasi sederhana namun berguna bagi kehidupan sehari-hari.

Langkah 8. Pengujian ke Marketplace

Aplikasi Windows 8 kurang lebih akan sama dengan Windows Phone 7 dari sisi evaluasi marketplace dan bahkan tampilan Marketplace seperti pada Gambar 3. Berasumsi demikian maka beberapa hal yang harus diperhatikan adalah:
  1. Targetting Apps. Aplikasi Windows 8 akan ditargetkan ke x86, x64 atau ARM. Pastikan memilih target aplikasi yang benar sebagai contoh tampaknya tidak terlalu bijaksana memilioh platform x64 untuk aplikasi metro apps yang akan berjalan di tablet
  2. Kultur dan bahasa. Konsistensi memilih bahasa dan pengesetan kultur akan menyelematkan aplikasi dari sisi valdiasi dan target market
  3. Ikon dan kelengkapan. Pemilihan ikon dan kelengkapan ikon sangat bermanfaat untuk kebutuhan administrasi distribusi marketplace.
  4. Kode yang aman dari eksepsi yang tidak ditangani. Tangani setiap kemungkinan error, setiap kemungkinan validasi data, dan setiap validasi input. Penggunaan try-catch akan menolong tetapi harap diingat itu akan membuat efisiensi aplikasi berkurang terkait dengan konsumsi memori.
Sumber

Tidak ada komentar:

Posting Komentar