Seiring dengan semakin populernya penggunaan smartphone di kalangan masyarakat, semakin meningkat pula kebutuhan masyarakat terhadap aplikasi mobile yang dapat memenuhi kebutuhan mereka sehari-hari – mulai dari berbelanja, bermain games, mengakses informasi terbaru, dan keperluan lainnya. Untuk memenuhi kebutuhan tersebut, para penyedia jasa pengembangan aplikasi perlu mengetahui teknologi mana yang paling tepat digunakan untuk masing-masing aplikasi mobile. Berikut adalah paparan beberapa teknologi pengembangan aplikasi mobile yang populer digunakaan saat ini beserta kelebihan dan kekurangannya masing-masing.

  1. Native

Aplikasi Native adalah aplikasi yang dikembangkan menggunakan bahasa pemrograman asli (native) dari platform tertentu. Penggunaan teknologi pengembangan ini biasanya bertujuan untuk membuat aplikasi mobile dengan performa tinggi serta UX (User Experience) yang baik karena sudah disesuaikan dengan UI (User Inteface) asli dari perangkat yang digunakan. Meski mampu mengakses seluruh fitur lengkap serta sistem operasi dari suatu perangkat, aplikasi Native memerlukan basis/projek kode terpisah dengan teknologi yang juga berbeda untuk tiap platform sehingga membutuhkan biaya lebih besar dengan tingkat kesulitan yang lebih tinggi pula. Berikut adalah dua platform utama di mana teknologi pengembangan Native dapat digunakan:

  • Android

Android adalah platform yang dikembangkan oleh Android, Inc. dan dibeli oleh Google pada tahun 2005 hingga akhirnya dirilis secara resmi kepada publik pada tahun 2008. Aplikasi native pada platform Android dibuat menggunakan Android Software Development Kit (SDK) dengan bahasa pemrograman Java. Pada tahun 2017, Google memperkenalkan bahasa Kotlin sebagai alternatif bahasa pemrograman dari Android. Kotlin lebih unggul daripada Java karena dapat meringkas baris kode dan lebih efisien dalam pengembangan aplikasi. Kotlin juga dapat diintegrasikan dan dikombinasikan dengan library atau bahasa Java.

  • iOS

iOS adalah platform yang dikembangkan oleh Apple, Inc. dan dirilis pada tahun 2007. Pembuatan aplikasi iOS native biasanya menggunakan iOS Software Development Kit (SDK) dengan bahasa pemrograman Obj-C. Pada tahun 2014, Apple merilis bahasa Swift sebagai alternatif bahasa pemrograman iOS yang mengungguli pendahulunya, yaitu Obj-C. Sama seperti keunggulan Kotlin dibandingkan Java pada platform Android, Swift lebih efisien dalam pengembangan aplikasi karena dapat meringkas baris kode.

Sejak tahun 2012, Suitmedia telah mengembangkan puluhan aplikasi Native, baik untuk platform Android maupun iOS. Di antaranya yang telah diluncurkan dan digunakan oleh publik adalah Bukalapak, Rumah Zakat-Sharing Happiness, Mister Aladin, Sampoerna, Astra, BCA, dan sebagainya.

  1. Cross-Platform

Cross-Platform adalah cara pengembangan aplikasi menggunakan satu basis kode untuk diimplementasikan pada lebih dari satu platform. Cross-Platform dikompilasi atau melalui proses rendering menggunakan native engine sehingga performa aplikasi yang dibuat masih menyerupai kualitas aplikasi Native. Berikut adalah beberapa teknologi Cross-Platform:

  • Flutter

Flutter adalah teknologi yang dikembangkan oleh Google dan dirilis pada tahun 2018 menggunakan bahasa pemrograman Dart. Keunggulan Flutter terletak pada fitur Hot Reload­-nya yang dapat mempercepat fase pengembangan. Flutter juga memiliki akses fungsional dan library pada masing-masing perangkat dan OS. Dalam tiap projek, Flutter juga dapat diintegrasikan dengan teknologi Native pada iOS Swift/Obj-C dan Android Kotlin/Java. Meskipun Flutter termasuk yang paling baru ditemukan dibandingkan teknologi Cross-Platform lainnya, Flutter sudah mulai populer digunakan oleh para developer di komunitas-komunitas tertentu.

Sayangnya, bahasa pemrograman Dart yang digunakan untuk mengembangkan Flutter cenderung masih terlalu baru sehingga belum banyak dikuasai oleh developer meski mudah dipelajari. Flutter juga dapat digunakan untuk pengembangan aplikasi web, tetapi masih belum stabil. Perusahaan besar yang sudah mengimplementasikan Flutter di antaranya: Google AdWords, Alibaba, Tencent, dan Square.

  • React Native

RN adalah teknologi yang dikembangkan oleh Facebook dan dirilis pada tahun 2015 menggunakan bahasa pemrograman JavaScript. RN menerjemahkan UI View secara native dengan teknologi Bridge untuk berkomunikasi dengan native engine dan library. Dengan Bridge, RN juga dapat diintegrasikan dengan teknologi Native pada iOS Swift/Obj-C dan Android Kotlin/Java. Keunggulan dari RN terletak pada penggunaan bahasa pemrograman JavaScript yang merupakan salah satu bahasa pemrograman terpopuler. Selain untuk pengembangan aplikasi mobile, RN juga dapat digunakan untuk mengembangkan aplikasi web.  Namun, penggunaan Bridge untuk berkomunikasi dengan native engine pada RN menyebabkan performa aplikasi yang dikembangkan tidak sebagus Flutter. Perusahaan besar yang sudah mengimplementasi RN di antaranya: Facebook, Instagram, dan UberEat.

  • Xamarin

Xamarin adalah perusahaan software yang diakuisisi dan dirilis oleh Microsoft pada tahun 2011. Xamarin menggunakan teknologi framework .Net dengan bahasa C# atau F#. Berkat penggunaan framework .Net dan Microsoft Visual Audio, Xamarin memiliki lingkungan pengembangan yang komplit untuk membuat aplikasi mobile, web, serta desktop. Kelemahan Xamarin adalah update delay yang menyebabkan penundaan jika terdapat pembaruan pada native engine atau library. Xamarin juga cenderung sulit diimplementasikan pada UI yang terlalu kompleks serta tingkat fungsionalitas tinggi.

Tren popularitas ketiga teknologi Cross-Platform tersebut dalam setahun ke belakang dapat dilihat pada grafik di bawah ini: 

Suitmedia memiliki solusi pengembangan aplikasi Cross-Platform untuk teknologi Flutter dan React Native yang bisa memenuhi kebutuhan akan aplikasi dengan kualitas yang tidak jauh dari Native. 

  1. Hybrid

Sama seperti Cross-Platform, Hybrid adalah cara pengembangan aplikasi menggunakan satu basis kode untuk diimplementasikan pada lebih dari satu platform. Namun, alih-alih menggunakan native engine, Hybrid menggunakan teknologi web untuk melakukan proses rendering dengan cara membungkusnya dengan container Native. Bahasa pemrograman yang digunakan pada Hybrid adalah HTML5, CSS, dan JS. Hybrid memang unggul dari segi biaya yang kecil serta tingkat kesulitan yang relatif rendah. Namun, tentunya performa aplikasi yang dibangun Hybrid jauh dari kualitas aplikasi Native dan memiliki limitasi akses ke library serta fungsionalitas perangkat. Framework Hybrid di antaranya adalah Cordova, ionic, dan phoneGap.

  1. PWA

PWA (Progressive Web Apps) adalah cara pengembangan aplikasi mobile yang merupakan hasil ekstensi dari aplikasi web. Dengan PWA, aplikasi web dapat memiliki fitur offline, push notification, dan UX yang serupa dengan aplikasi Native. PWA juga dapat mengakses beberapa fungsi perangkat meski hanya terbatas pada Camera, GPS, dan akses dokumen. PWA dapat diakses melalui layar Home masing-masing OS tanpa diinstal atau didistribusikan melalui Android Play Store. Kelemahan PWA terletak pada limitasi akses fungsionalitas perangkat, seperti Contact, SMS, dan Task Scheduling. PWA juga mengalami kendala approval untuk didistribusikan melalui iOS App store karena menggunakan teknologi web (HTML & JS) yang dimigrasikan menggunakan service worker.

Suitmedia memiliki jasa pengembangan PWA untuk ekstensi website ke aplikasi mobile. Beberapa PWA yang sudah didistribusikan di antaranya adalah untuk Astra dan HIS Travel.

Kesimpulan

 

Native

Cross Platform

Hybrid

PWA

UX & Performance

Best

Better

Low

Medium

Access Device Lib

Full Access

High Access

Low Access

Medium Access

Distribution

Play Store, App Store

Play Store, App Store

Play Store, App Store

URL, Play Store

Development Cost

High, Each Platform

Medium, Single Code Base

Low, Single Code Base

Extend from Web App


Rekomendasi

  1. Pilih aplikasi Native jika Anda ingin menyasar target konsumen berskala besar di mana performa, keamanan, serta akses terhadap fitur hardware perangkat adalah prioritas utama. Suitmedia sangat merekomendasikan aplikasi Native ini.
  2. Pilih aplikasi Cross-Platform jika Anda tidak bermasalah dengan limitasi minor terkait performa namun ingin menggunakan satu kode basis saja. Suitmedia juga merekomendasikan Flutter karena teknologi ini didukung secara resmi oleh Google.
  3. Pilih Progressive Web Apps (PWA) jika Anda hanya ingin memberikan native mobile experience dari sebuah website yang sudah ada kepada target konsumen Anda.