Apakah Xamarin Merupakan Teknologi yang Cocok untuk Aplikasi Anda ?

Puja Pramudya
Blackdesk
Published in
5 min readMar 13, 2017

Sejak Microsoft resmi membeli Xamarin, tidak dapat dipungkiri popularitas Xamarin semakin meningkat. Lebih dari 1.4 juta pengembang aplikasi sudah menggunakan teknologi Xamarin. Banyak perusahaan dari berbagai segmen seperti bank, airline, retail dan medis sudah menggunakan Xamarin. Xamarin memang menjanjikan pengembangan aplikasi menggunakan satu basis kode sembari menghasilkan performa aplikasi yang dikembangkan dengan teknologi native. Karenanya, diskusi mengenai apakah organisasi harus menggunakan native atau beralih ke Xamarin tetap menjadi suatu diskusi yang menarik.

Tulisan ini dimaksudkan sebagai informasi bagi pada pengembang aplikasi dan pengambil keputusan, sehingga dapat menentukan strategi digital dan pengembangan aplikasi di organisasi Anda. Versi TL;DR dapat anda baca dibagian akhir tulisan ini.

Keunggulan Teknologi Xamarin

Terdapat beberapa keunggulan yang bisa kita peroleh jika menggunakan Xamarin dalam strategi pengembangan aplikasi.

1. Satu Teknologi untuk Semua Platform
Xamarin menggunakan bahasa C# dan .NET framework untuk mengembangkan aplikasi mobile. Dengan ini kita dapat menggunakan kembali (code reuse) hingga 96% sehingga mempercepat waktu pengembangan aplikasi. Xamarin juga menyederhanakan penggunakan IDE karena kita cukup menggunakan Visual Studio (dan VS for Mac). Banyak yang beranggapan tools yang digunakan tidak senyaman Android Studio atau XCode namun sejak dibeli Microsoft, dukungan integrasi Xamarin dan Visual Studio semakin lama semakin membaik. Bahkan, dengan Visual Studio sudah tersedia emulator Android dan iOS preview simulator yang membuat kita semakin mudah lagi menguji aplikasi yang sedang kita kembangkan.

VS Emulator for Android

2. Performa Aplikasi
Tidak seperti solusi hybrid development yang berbasiskan teknologi web, aplikasi yang dihasilkan menggunakan Xamarin dapat diklasifikasikan sebagai aplikasi native. Performa aplikasi-nya mendekati aplikasi native dan untuk beberapa kasus malah bisa lebih baik. Jika ingin kecepatan dan pemrosesan yang ‘berat’ sudah pasti Anda harus lakukan dengan teknologi native. Tapi sebagian besar aplikasi, kecepatan lebih kepada persepsi dari pengguna ketimbang metrik lama eksekusi yang bisa kita catat pada instrumen monitoring. Xamarin memiliki sweet spot untuk tolok ukur performa dibandingkan teknologi web.

3. Native User Experience
Xamarin memungkinkan kita mengembangkan aplikasi menggunakan elemen UI yang spesifik ke masing-masing platform. Dengan cara ini, antarmuka menarik yang ingin Anda hasilkan dapat dilakukan dengan menggunakan Xamarin. Dengan teknologi Xamarin.Form, sebuah aplikasi cross platform dapat dihasilkan dengan mengubah komponen UI ke masing-masing platform pada saat runtime. Hal ini sangat mempercepat waktu pengembangan aplikasi dan merupakan opsi yang baik untuk pengembangan aplikasi LOB (line-of-business). Pilihlah teknologi yang sesuai — classic atau Forms — sesuai dengan kebutuhan dan skenario di organisasi Anda.

4. Dukungan Perangkat Keras
Dengan menggunakan Xamarin, maka kita dapat menggunakan fungsionalitas pada level native. Hal ini mengurangi permasalahan kompatibilitas, dengan menggunakan plugin dan API spesifik untuk menyelesaikan permasalahan pengaksesan perangkat keras di aplikasi cross-platform.

Kekurangan Teknologi Xamarin

Selama Google dan Apple tidak ‘merger’ maka sebenarnya akan mustahil kita mencapai kovergensi penuh di pengembangan aplikasi mobile. Xamarin merupakah salah satu solusi yang bisa digunakan namun hal itu juga tidak tanpa kekurangan. Jika Anda meng-consider menggunakan Xamarin, perhatikan hal-hal berikut ini:

1. Dukungan Terhadap Update Tools
Setidaknya Google dan Apple merilis major update 1 tahun sekali. Tentunya setiap update terjadi, update library Xamarin akan bergantung sepenuhnya dengan tim pengembang Xamarin. Karena mustahil bagi penyedia 3rd party tools — dalam hal ini Xamarin — dapat langsung menyediakan update bagi iOS dan Android karena pastinya dibutuhkan sejumlah waktu untuk mengadaptasi perubahan tersebut ke framework Xamarin. Namun, Xamarin hingga saat ini berkomitmen untuk menyediakan same-day support terhadap perubahan-perubahan yang ada di Android dan iOS.

2. Keterbatasan Library Open Source
Tentunya dalam pengembangan aplikasi, terkadang kita membutuhkan satu-dua komponen yang bukan menjadi komponen standard yang disediakan suatu platform. Misalnya utk QRCode Scanner, Maps dan sebagainya. Dengan pengembangan native, opsi untuk open source library mungkin luar biasa tidak terbatas. Dengan Xamarin, kita dapat menggunakan library dari Xamarin Store Component. Secara pilihan sudah barang tentu tidak sebanyak native. PR dari kita adalah menganalisis kebutuhan dari aplikasi yang mau kita kembangkan dan apakah komponen tersebut bisa kita gunakan di Xamarin. Saat ini komponen dari Xamarin sebenarnya sudah cukup banyak mulai dari Maps, payment processing, digital signature, push notification dan sebagainya.

3. Komunitas Pengembang Xamarin
Komunitas pengembang Xamarin saat ini tentu saja jauh lebih kecil dari Androi dan iOS. Menemukan tim yang mampu mengembangkan aplikasi Xamarin mungkin menjadi tantangan tersendiri. Namun sejak di beli Microsoft, hal ini berangsur-angsur semakin meningkat. Ada yang mengatakan komunitas Xamarin saat ini sudah mencapai 10% dari komunitas pengembang aplikasi mobile di seluruh dunia. Xamarin juga membangun Xamarin University, suatu online training yang didedikasikan khusus kepada para pengembang agar dapat mempelajari teknologi ini.

Our 2-cents

Ketika kita membandingkan keunggulan dan kekurangan suatu teknologi, dalam hal ini Xamarin, akhirnya hal itu dikembalikan kepada kebutuhan. Dalam 6 tahun terakhir mengikuti perkembangan teknologi aplikasi, pemilihan teknologi sangat tergantung kepada beberapa faktor. Organisasi biasanya memilih Xamarin untuk mengurangi time-to-market dan biaya aplikasi, karena berbagi kode dan menggunakan satu teknologi saja. Namun, juga perlu diperhatikan kebutuhan dari aplikasi dan target dari pengguna.

Menurut pengamatan dan pengalaman kami, Xamarin sangat cocok untuk digunakan sebagai enterprise mobile solutions. Dengan komponen UI yang standard, sebenarnya sudah bisa mencakupi 90% kebutuhan, dan business logic dapat digunakan di seluruh platform. Kustomisasi dibutuhkan untuk 10% sisanya.

Aplikasi LOB sangat cocok dibangun menggunakan Xamarin

Dalam hal pengembangan aplikasi untuk consumer, dengan kebutuhan UI yang sangat kompleks, jumlah kode yang bisa digunakan kembali berkurang secara drastis. Sehingga, Xamarin tampak kehilangan keunggulan-nya dalam hal waktu yang dibutuhkan untuk mengembangkan aplikasi.

Alternatif lain yang bisa digunakan, bisa saja membuat Anda kurang puas. PhoneGap/Apache Cordova, Ionic Framework, Appcelerator/Titanium, semuanya bergantung penuh pada teknologi web seperti HTML5 dan Javascript. Karenanya, untuk beberapa lama ke depan, akan sulit mencapai performa dan fungsionalitas yang ditawarkan Xamarin saat ini.

--

--

Puja Pramudya
Blackdesk

co-founder & technology director @radyalabs & alkademi.id. Love my dentist.