Pilihan Teknologi untuk Mengembangkan Aplikasi Mobile

Radya Labs
Blackdesk
Published in
7 min readMay 2, 2015

--

Dalam 4 tahun terakhir, Radya Labs beruntung dapat berkontribusi dan melayani sejumlah organisasi, membantu mengembangkan solusi teknologi, terutama aplikasi mobile yang digunakan untuk berinteraksi dengan konsumen dan mendukung operasional bisnis. Selama itu pula kami banyak berdiskusi dengan berbagai pihak di dalam organisasi, mendapatkan insight, memahami kebutuhan dan mendengarkan keluhan serta contraint yang terjadi. Salah satu tema diskusi yang dominan adalah: Apa saja pilihan untuk mengembangkan aplikasi mobile? Apa saja keunggulan dan kekurangannya? Apakah saya harus memiliki aplikasi native, hybrid atau cukup dengan mobile web?

Kami percaya, teknologi harus dapat membantu organisasi untuk berbuat lebih, meningkatkan efektivitas dan efisiensi bisnis dan menjangkau konsumen dengan pengalaman interaksi yang terbaik. Karena itu,dalam setiap pekerjaan, kami selalu terbuka dan memberikan masukan sesuai dengan kondisi dan harapan yang ingin dicapai. Dalam kaitan dengan teknologi apa saja yang dapat digunakan untuk mengembangkan aplikasi mobile, melihat berbagai perkembangan teknologi yang ada termasuk pengumuman terbaru dari Microsoft, bahwa kini mereka menyediakan dukungan pengembangan aplikasi di Windows 10 menggunakan basis kode yang sama yang pernah dibuat di Android dan iOS, kami rasa perlu menyampaikan pemikiran kami, opsi apa saja yang dapat ditempuh, untuk memiliki sebuah aplikasi mobile. Tentu saja banyak hal yang menjadi pertimbangan, tulisan ini dibuat sebagai panduan umum, dibandingkan hal mutlak yang harus dipatuhi.

Aplikasi native untuk user experience yang terbaik

Aplikasi Native dibangun untuk berjalan pada device dan sistem operasi yang spesifik. Misalnya, aplikasi iOS (iPhone,iPad) dibangun menggunakan Objective C atau Swift. Atau aplikasi Android dengan bahasa Java, atau Windows Phone dengan .NET/WinRT. Teknologi pengembangan aplikasi native didukung penuh oleh prinsipal perangkat, dalam hal ini perusahaan seperti Apple, Google atau Microsoft.

Aplikasi Native sesuai jika dibutuhkan rich user experience di dalam aplikasi mobile yang dikembangkan. Tampilan yang sesuai dan familiar dengan device tersebut serta akses terhadap berbagai komponen seperti GPS, kamera, grafis dan aplikasi bawaan seperti kalender, kontak dan penyimpanan. Aplikasi native juga identik dengan kemampuan berjalan dalam kondisi off-line. Hanya aplikasi native yang dapat mengakses fitur spesifik platform seperti Live Tile di Windows Phone, push notification dan action center. Toolset dan berbagai kebutuhan pengembangan selalu di-update oleh Prinsipal, setidaknya 1x dalam setahun, untuk menyesuaikan dengan jenis device dan kemampuan terbaru yang ada di masing-masing platform.

Tentu saja, kompleksitas dan aspek teknologi yang spesifik tadi berimplikasi kepada rata-rata biaya pengembangan aplikasi native lebih tinggi dibandingkan pilihan lainnya. Jika brand/organisasi sangat peduli dan concern dengan spirit serta brand image yang ingin ditanamkan kepada pengguna melalui aplikasi maka aplikasi native menjadi pilihan yang bisa ditempuh.

Aplikasi mobile web untuk kemudahan akses di berbagai perangkat melalui web browser

Jika user experience aplikasi bukan menjadi hal yang utama melainkan kemudahan akses dari berbagai perangkat, mobile web bisa jadi menjadi pilihan yang sesuai. Mobile web dikembangkan agar tidak memiliki dependensi khusus terhadap salah satu platform dan dapat diakses melalui web browser pada perangkat yang dimiliki pengguna.

Mobile web adalah aplikasi web seperti layaknya yang biasa diakses melalui browser di desktop namun di desain khusus agar mudah dan dapat digunakan di perangkat mobile. Teknologi pilihan saat ini adalah HTML5, dengan bantuan framework seperti jQuery Mobile, Sencha Touch dan lainnya.

Dengan mobile web, biaya pengembangan aplikasi relatif lebih kecil dari aplikasi native — tergantung dari kompleksitas fitur yang diinginkan. Akan tetapi Anda mengorbankan akses terhadap komponen hardware, fitur spesifik device atau dukungan offline. Bonusnya, time to market menjadi lebih cepat karena tidak perlu membuat aplikasi berbeda untuk sistem operasi yang berbeda.

Jika brand/organisasi membutuhkan kecepetan pengembangan dan kebutuhan berjalan di berbagai platform dengan harga relatif lebih murah dan tidak masalah mengorbankan user experience dari aplikasi, maka mobile web bisa menjadi pilihan yang patut dicoba.

Aplikasi hybrid untuk dukungan multi-platform dengan sedikit mengorbankan user experience

Selalu ada jalan tengah, dan untuk aplikasi mobile, salah satu yang populer adalah menggunakan pendekatan hybrid. Aplikasi mobile dapat dikembangkan menggunakan teknologi web (HTML5) yang dibungkus dalam wrapper yang bersifat native. Hal ini diperlukan untuk menjembatani kelemahan mobile web yang tidak bisa mengakses komponen hardware dari perangkat mobile.Dengan konsep wrapper maka hal ini bisa dijembatani.

Contoh framework yang bisa digunakan seperti Appcelerator Titanium dan Apache Cordova (sebelumnya Phonegap) untuk mengembangkan aplikasi Hybrid. Aplikasi Hybrid dapat berjalan di berbagai sistem operasi namun biasanya tampilan dari aplikasi akan sama persis sehingga tidak ada perbedaan yang mencolok ketika dijalankan di device yang berbeda. Kadang konsistensi ini baik dan memang diinginkan tapi kadang tiap platform memiliki “design language”-nya masing-masing sehingga “sama” tidak selalu berarti “bagus”. Sebagai contoh Apple dengan Flat Design, Google dengan Material Design, meskipun tergolong sama-sama non-skeumorphic design, tetap saja ada aspek spesifik dari masing-masing platform untuk memberikan pengalaman terbaik menggunakan sistem operasi yang ada di dalam perangkat.

Hybrid menawarkan dukungan multi-platform yang tidak dimiliki native namun biaya yang lebih mahal dibandingkan solusi mobile web.

Untuk menyimpulkan hal ini, tabel berikut bisa digunakan untuk bahan pertimbangan.

image

Radya Labs sebagai mobile software company , mendukung teknologi apapun yang diputuskan oleh klien, tentunya setelah diskusi mendalam terhadap berbagai parameter yang perlu dipertimbangkan. Untuk native app, kami memberikan dukungan untuk 3 sistem operasi utama yaitu iOS, Android dan Windows, dan siap membantu Anda menyediakan the best possible mobile experience. Hybrid app juga dapat menjadi opsi tentunya dengan ekspektasi yang disesuaikan dan contraint yang dihadapi. Atau jika mobile web menjadi pilihan Anda, tim web kami siap membantu dan menghasilkan layanan web Anda untuk dikonsumsi melalui perangkat mobile konsumen Anda.

Xamarin , Project Islandwood & Astoria

Jika Anda mengikuti perkembangan teknologi pengembangan aplikasi mobile terbaru, ada kemungkinan Anda sudah mendengar Xamarin,sebagai salah satu teknologi untuk membangun aplikasi multi-platform. Xamarin sebenarnya tergolong teknologi Hybrid, namun berbeda dari sisi implementasi. Aplikasi yang dibangun menggunakan Xamarin bukanlah aplikasi web yang berjalan di dalam wrapper. Dengan Xamarin, Anda dapat memanfaatkan skill C# dan .NET yang dimiliki, dan membuat aplikasi iOS dan Android menggunakan teknologi tersebut yang akan dikompilasi dan berjalan secara native di platform masing-masing. Terdengar menarik dan seperti solusi yang menarik dibandingkan tiga pilihan diatas tadi. Namun, Anda perlu memahami betul keterbatasan dan kapan sebaiknya menggunakan teknologi-teknologi baru yang muncul, termasuk diantaranya Xamarin ini.

Xamarin versi awal bukanlah solusi murni multi-platform melainkan suatu cara untuk meningkatkan jumlah kode yang bisa digunakan di platform yang berbeda. Secara teori, hampir lebih dari 70% kode bisa digunakan secara bersamaan di 3 platform, sementara untuk kode UI biasanya harus dikembangkan secara native mengikuti kebiasaan aplikasi native. Artinya, Anda tetap membutuhkan pemahaman aspek pengembangan aplikasi native, terutama di sisi antarmuka aplikasi. Xamarin versi terbaru, yaitu Xamarin.Form mengklaim dapat menggunakan XAML+C# untuk mengembangkan aplikasi native di 3 platform sekaligus. Lagi-lagi terlihat sebagai solusi yang kita cari. Namun, untuk menghadirkan antarmuka yang kompleks, kita terbatas menggunakan kontrol out-of-the-box yang disediakan Xamarin.Form sehingga perlu waktu lebih dan usaha untuk menghasilkan kontrol-kontrol yang mudah digunakan jika menggunakan teknologi native. Plus, USD 1800 per tahun lisensi yang perlu dibayar jika ingin menggunakan teknologi ini. Salah satu aplikasi yang dibangun menggunakan Xamarin adalah Rdio.

Pada BUILD 2015, Microsoft mengumumkan suatu hal yang mengejutkan, yaitu pengembangan Project Islandwood dan Project Astoria. Teknologi tersebut akan memungkinkan pengembang yang sudah memiliki aplikasi Android/iOS, menggunakan source code yang mereka miliki dan membangun aplikasi yang dapat berjalan di Windows 10. Perlu digaris dibawahi, hal ini bukan berarti aplikasi iOS dan Android dapat berjalan di atas Windows 10, melainkan dari source code yang anda miliki tersebut, Anda dapat memiliki aplikasi Windows 10 dengan beberapa perubahan dan penyesuaian.

Detail mengenai kemampuan teknologi tersebut belum begitu jelas, mengenai sejauh apa kemungkinan yang dapat terjadi. Namun misi utama dari ketersediaan teknologi tersebut adalah pengembang aplikasi yang memiliki aplikasi Android dan iOS, jika memutuskan ingin memiliki aplikasi di Windows 10 dapat menggunakan asset dan skill mereka, mengubah beberapa bagian yang diperlukan namun tetap menggunakan sebagian besar pekerjaan yang sudah dilakukan. Aplikasi Candy Crush untuk Windows adalah satu produk yang dihasilkan menggunakan teknologi ini. Kita harus paham betul sejauh apa teknologi ini dapat membantu Anda. Informasi yang sudah disampaikan misalnya, dukungan yang diberikan untuk iOS API belumlah 100% . But, it’s a start.

image

Pada akhirnya teknologi adalah alat yang digunakan untuk menyelesaikan permasalahan. Tidak ada yang namanya palu gada, satu alat untuk menyelesaikan semua pekerjaan. Unless, Apple, Microsoft dan Google melakukan merger dan menghasilkan 100% konvergensi mobile platform,selama itu tidak terjadi, sepertinya dalam beberapa tahun ke depan, opsi yang disampaikan tetap menjadi bahan pertimbangan kita.

Radya Labs telah membangun kapasitas untuk membantu Anda memilih teknologi yang Anda inginkan, apakah itu native, hybrid atau mobile web. Layanan pengembangan aplikasi (development service) yang kami tawarkan dapat membantu Anda memiliki aplikasi mobile yang dinginkan, sesuai dengan proses bisnis dan kustomisasi yang diperlukan. Jika Anda menginginkan aplikasi mobile dengan fitur yang terprediksi dengan harga yang lebih terjangkau, Anda juga dapat menggunakan produk kami, Appsterize, salah satu alternatif untuk memiliki mobile presence secara lebih cepat dan lebih murah. Appsterize adalah mobile application as a service, dimana Anda “menyewa” untuk memiliki sebuah aplikasi mobile. Layanan ini cocok untuk Anda yang membutuhkan kecepatan dan kemudahan pengaturan konten. Appsterize hari ini dapat digunakan oleh public figure, musician, community, e-commerce dan event organizer untuk terhubung ke konsumen dan menyampaikan informasi yang relevan dengan cara yang mudah dan sederhana.

--

--