3 Teknologi yang Terbukti Handal untuk Membangun Aplikasi Mobile Multi Platform

Ega Wachid Radiegtya
5 min readMar 29, 2018

--

Perkembangan teknologi zaman now memang tidak ada habisnya. Mau tidak mau, sebagai orang IT terutama programmer, kita harus bisa beradaptasi dengan perkembangan teknologi yang super cepat update-nya.

Mobile development merupakan salah satu teknologi yang sangat cepat perkembangannya. Dimulai dari sebuah data yang mengatakan bahwa pengguna aplikasi mobile terutama Android dan iOS, jauh lebih banyak dari pengguna aplikasi platform lain. Dari data tersebut, perusahaan pengembang aplikasi berlomba-lomba untuk membangun aplikasi mobile.

Dari banyaknya permintaan dan peminat akan aplikasi mobile, tentunya perusahaan pengembang aplikasi membutuhkan banyak developer, terutama JAVA untuk Android, dan Obj-C/Swift untuk iOS. Hal ini tentunya sangat kurang cocok untuk diterapkan di startup dari segi keterbatasan dana untuk meng-hire programmer untuk Android sendiri, maupun iOS sendiri. Selain dari segi dana, sometime terjadi ketimpangan fitur/performance/experience antara aplikasi yang sama tetapi dibuat di berbeda platform dengan team pengembang yang berbeda pula.

So bagaimana solusinya?? Di akhir tahun 2011, Adobe dengan resmi meluncurkan produk yang diberi nama Phonegap. Dengan teknologi ini, kita bisa men-develop aplikasi mobile baik untuk Android, maupun iOS (bahkan Blackberry) dengan satu codebase, yaitu HTML, CSS, dan Javascript!! COOL!! Selain itu kita juga dapat mengakses native functionality seperti contact, push notification, sms, accelerometer, dsb. Hal ini tentunya merupakan GOOD NEWS untuk Programmer dengan background Web Developer.

Tentunya “kekerenan” dan kemudahan ini mempunyai kekurangan, salah satu kekurangannya yaitu dari segi performa, si Phonegap ini sangat lambat alias lelet.

Seiring berkembangnya teknologi, muncullah beberapa teknologi/library/framework yang bisa meningkatkan performa si phonegap ini, which is masih menggunakan teknologi Phonegap. Salah satu contohnya adalah Ionic, dan Xamarin.

So?? Apakah Ionic dan Xamarin adalah menjawab kebutuhan pasar dan industri? Yep for small app, but not for a large scale app. So teknologi apa yang menurut penulis sudah bisa menjawab keluh kesah Perusahaan dan Programmer?

Berikut daftar 3 Teknologi Terkeren yang mungkin bisa menyelesaikan problematika rumah tangga Anda. Eh I mean, Perusahaan Anda atau Pekerjaan Anda:

1. REACT NATIVE

React Native merupakan Library besutan Facebook untuk membangun aplikasi mobile baik untuk Android maupun iOS dengan hanya satu codebase. Selain itu, dengan React Native Anda dapat membangun aplikasi mobile semudah membuat Web App, tetapi dengan hasil se-stable dan se-scalable aplikasi yang dibangun dengan Java (Android), ataupun Obj-C (iOS) atau biasa disebut Native. Jika background Anda adalah Web Developer, maka Anda akan feels like home.

React Native mainly menggunakan Javascript untuk membangun aplikasi Mobile. Tidak seperti Phonegap, code javascript yang di-code dengan React Native tidak ditampilkan menggunakan webview sehingga membuat aplikasi mobile tidak terasa native alias lelet. React Native menggunakan teknik bridging, sehingga code Javascript di bridge ke Java (untuk Android), dan ke Obj-C (untuk iOS) sehingga aplikasi yang dibangun dengan React Native, serasa benar-benar native alias fast!

PROS: Relatif mudah dipelajari, performa yang cukup baik, dan terbukti telah digunakan di banyak perusahaan besar

CONS: Jarangnya Widget official, yang mana hal ini sometime good, sometime not. Contohnya ketika update terlalu cepat sehingga sometime versi React Native tidak match dengan plugin tersebut saat diupdate, ataupun suatu plugin yang sering berimbas ke plugin yang lain.

So tunggu apalagi, invest sekarang juga di React Native. Perusahaan besar seperti Facebook, Instagram, AirBnB, Tokopedia, dsb sudah menggunakan React Native.

Jika Anda berminat mempelajari React Native lebih lanjut, kita menyediakan DVD Tutorial React Native yang bisa Anda beli melalui link berikut, pumpung diskon nihhhhh:

https://bit.ly/2E3LvmT

Tunggu dulu, masih ada 2 teknologi keren lainnya yang ga kalah seru untuk dipelajari.. Ok NEXT GAN!

2. Flutter

Flutter adalah library besutan Google yang dibangun di atas bahasa pemrograman bernama “Dart”. Sama seperti React Native, Flutter tidak menggunakan WebView seperti Phonegap, melainkan Real Native Experience!!

Bahkan flutter digadang-gadang lebih performant dibanding dengan React Native, karena dart bisa langsung mengakses Native Widget OS tanpa melalui OEM Widget ataupun tanpa teknik Bridging seperti React Native yang membutuhkan Java atau Obj-C untuk mengakses Native Widget!! Super Cool!

PROS: By default Flutter menyediakan widget official yang sudah keren dari sononya, sehingga untuk membangun UI/UX jadi lebih terstandard.

CONS: Learning Curve yang cukup dalam, minimal Anda harus mengerti konsep dasar pemrograman dengan baik terutama OOP (tidak memungkiri React Native juga demikian, tetapi sometime we don’t need to know about it further).

Selengkapnya tentang flutter dapat Anda lihat di tulisan yang sangat keren ini: https://hackernoon.com/whats-revolutionary-about-flutter-946915b09514

Kok ga promosi sekalian tentang flutter? Hahah. Tunggu kehadiran Flutter di https://dumbways.id ya :p

3. Progressive Web App

Progressive Web App atau biasa disebut PWA sebenarnya adalah aplikasi web pada umumnya tetapi difokuskan untuk tampilan mobile. Perbedaan web app biasa dengan PWA terletak pada load time, dan offline experience nya.

Dengan bantuan Service Worker, Anda dapat menyimpan code html, css, js Anda pada semacam cache. So, ketika ada user yang sudah mengakses sekali aplikasi PWA Anda, maka user tidak perlu lagi meload lagi html css pada halaman yang sudah diakses. Hal ini tentunya mempersingkat load time, sehingga web app terasa lebih cepat.

Selain itu, Anda dapat menggunakan localstorage atau apapun itu untuk menyimpan data yang sudah diakses melalui REST API untuk meningkatkan lagi performa dari PWA ini, sehingga tidak perlu berulang-ulang mengakses REST API atau saat kondisi offline, aplikasi tetap dapat mengakses data yang dibutuhkan.

Pada Android, PWA ini bisa ditambahkan ke Home Screen untuk mempermudah akses aplikasi, sehingga aplikasi serasa telah didownload dari playstore. Maybe gambar di bawah akan memperjelas maksud saya.

Cool eh!? Tak sabar mencobanya? Tapi bingung gimana men-developnya?Berikut teknologi yang bisa Anda gunakan untuk mempermudah proses development PWA.

a. Nuxt, adalah library yang menggunakan Vue.js untuk men-develop PWA dengan mudah. Selengkapnya https://nuxtjs.org/

b. React PWA, jika Anda Fans berat React, maka tools ini sangat saya rekomendasikan. Why? Karena selain by default menyimpan code html, css, js kita via Service Worker, React PWA juga mensupport SEO by default.

PROS: This is future mobile development, tanpa install via appstore/playstore, user sudah bisa mendapatkan Native Mobile Experience seperti yang bisa kita dapatkan melalui aplikasi Native pada umumnya.

CONS: Add to Home Screen feature saat ini hanya ada di Android.

Phewww… Demikian tulisan saya semoga menjadi inspirasi bagi Anda untuk menggunakan atau mulai menggeluti dunia Mobile Development. Maafkan saya jika tulisan saya terlalu panjang and ada iklannya, hihi, maklum bootstrap.

Btw di dumbways.id juga menyediakan Bootcamp lho untuk Mobile Development ini. So contact me aja jika ada pertanyaan apapun terkait Mobile Development.

Best Regards,

Ega Radiegtya

+62 8564 1278 479

--

--