Data 2019 yang SoftwareSeni miliki menunjukan bahwa permintaan konsumen terhadap teknologi React tumbuh hingga 2 kali lipat. Usut punya usut, pertumbuhan perusahaan startup IT di Indonesia yang pesat menjadi salah satu kontributor besar dalam peningkatan permintaan akan membuat mobile app menggunakan react native ini. 

Sebelumnya, SoftwareSeni sudah menuliskan beberapa hal penting yang perlu kamu tahu tentang membuat web app pakai wordpress. Nah, teknologi react native ini berbeda. Dengan meningkatnya jumlah pengguna smartphone tiap tahunnya, industri mobile app makin mengganas. 

membuat mobile app menggunakan react native

Mobile-first world katanya. Tentunya, sebagai salah satu perusahaan teknologi terbesar di dunia, Google, tentu tidak tinggal diam. Progressive Website Application (PWA) siap menemani developer dalam mengembangkan web app yang ramah bagi mobile. Nah, teknologi react ini masih bisa dibilang sebagai ganjalan besar bagi teknologi PWA dalam pengembangan mobile app. 

Kenapa?

Dengan membuat mobile app menggunakan react native, perusahaan pemilik mobile app dapat masuk lebih dalam ke ponsel milik user. Berbeda dengan teknologi PWA yang memiliki konsep seperti web app dengan optimasi mobile experience. Membuat mobile app menggunakan react native dapat memberikan fleksibilitas lebih dalam pengambilan data ponsel pengguna untuk pengembangan mobile app di masa yang akan datang.

Akan tetapi, sejak kekhawatiran publik akan keamanan data, react native developer tidak bisa lagi tuh seenak jidat untuk mengambil data dari ponsel yang terinstall aplikasi mereka. Harusnya sih, selain dari sisi developer, konsumen juga kudu banget paham perihal akses yang konsumen berikan kepada aplikasi yang di install pada ponsel. 

Nah, sudah cukup ya mengulik issue yang lagi hangat tetang dunia mobile app. Yuk, mulai fokus ke pembahasan utama!

Membuat Mobile App Menggunakan React Native

Mungkin, ada satu pertanyaan yang sudah ada di kepala kamu sejak awal membaca judul artikel ini; Apa itu React Native? Okay. Mari mulai dari pembahasan paling fundamental.

Apa itu React Native?   

Dalam proses software development, ada beberapa bagian yang perlu kamu tahu. Singkatnya, ada 5 peran penting untuk memastikan proses pembuatan mobile app berjalan dengan lancar. Project manager, UX designer, Backend, Frontend, & QA. Kalau kamu belum tahu fungsi dari masing-masing peran. Boleh banget buat baca artikel tetang website development: berbagai peran & proses dalam proyek IT.

react native

Nah, react native ini merupakan teknologi yang bisa digunakan oleh seorang front end untuk membuat mobile app; baik android maupun iOS. React adalah sebuah tool yang digunakan untuk membangun komponen user interface (UI) dalam proses mobile app development yang menggunakan JavaScript sebagai bahasa pemrogramannya. Facebook merupakan perusahaan yang berhasil menciptakan tool React.

Oh iya, buat kamu yang pengen belajar menjadi React Native developer, SoftwareSeni sudah siapkan artikel khusus yang bakal bantu kamu. Pada artikel ini, fokus akan lebih diberikan kepada pro dan con saat membuat mobile app menggunakan react native.

Dengan menggunakan React Native, kamu tidak perlu mengembangkan mobile app berdasarkan operating system. Misalnya, android developer dan iOS developer. Hal tersebut dapat dilakukan karena React Native memiliki kemampuan untuk cross platform. Sehingga, proses mobile app development cukup memakai React Native untuk membuat mobile apps di android dan iOS. 

Kalau kamu pengen tahu detail teknis dari React Native, bisa banget kunjungi https://reactnative.dev/.

Proses membuat mobile app

Namun, sebelum kamu memutuskan untuk membuat mobile app menggunakan react native, tentu harus melalui beberapa proses pemikiran terlebih dahulu, bukan? Berikut adalah tahapan proses membuat mobile app yang perlu kamu tahu.

membuat mobile app menggunakan react native

1. Melakukan market & tech research

Sebelum kamu memutuskan untuk membuat mobile app menggunakan react native, ada beberapa pertanyaan yang harus kamu jawab:

- Kenapa mobile app?

- Kenapa react native? 

Dalam proses membuat mobile app, langkah pertama yang wajib kamu jawab adalah kenapa mobile app. Pasalnya, tidak semua solusi bisa disampaikan mobile app. Misalnya, dalam melakukan transformasi digital bisnis, belum tentu mobile app untuk sistem informasi perusahaan akan jauh lebih efektif. Bisa saja, justru akan timbul distraksi-distraksi lain dalam ponsel. Contoh gampangnya, jika kamu membuka ponsel untuk membalas chat temanmu seperlunya, mungkin kamu akan “mampir” untuk membuka aplikasi lain di dalam ponsel, kan?

Untuk menghindari hal tersebut, tentu kamu perlu paham betul, apakah media mobile app akan menjadi solusi. Kalau kamu bingung harus mulai dari mana, coba deh cek artikel SoftwareSeni tentang web app atau mobile app

Wah, ternyata benar, mobile app adalah solusi paling efektif dan efisien. Tapi tunggu, itu belum selesai. Kamu perlu banget paham kira-kira teknologi apa yang akan kamu pakai, sekompleks mana mobile app akan kamu buat. Jangan sedih, kalau kamu tidak memiliki kemampuan untuk menganalisis teknologi apa yang akan dipakai. Cukup hubungi SoftwareSeni, dan beri tahu kebutuhan kamu. Gratis. Ehh. kok malah iklan. Hahahaha. 

Teknologi dalam pembuatan mobile app itu banyak. Kamu bisa pakai teknologi native android, native iOS, flutter, dan masih banyak lainnya. React Native merupakan salah satu teknologi yang bisa diandalkan untuk membangun mobile app. Jika ya, react native dapat memenuhi kebutuhan pengembangan mobile app, kamu juga perlu tahu batasan-batasan apa saja yang React Native punya. 

2. Tentukan tujuan & objektif dari pembuatan mobile app

Ketika kamu sudah yakin jika mobile app adalah solusi, kamu perlu mendefinisikan apa saja tujuan, dan objektif dari pembuatan mobile app. Ingat ya, tujuan dan objektif itu beda. Misalnya, tujuan kamu membuat mobile app e-learning adalah untuk mempermudah akses masyarakat terhadap informasi seputar ilmu pengetahuan. Nah, objektif dari mobile app e-learning adalah untuk mendapatkan 1 juta pengguna dalam 2 tahun pertama mobile app di launch, membuat program subsidi silang online sebesar 30% dari total pengguna, dan masih banyak lainnya.

Sudah melihat perbedaannya? Yes, objektif itu sifatnya terukur. Yuk, coba sekarang tentukan tujuan dan objektif dari membuat mobile app menggunakan react native yang sedang kamu rencanakan.

Gimana? Sudah belum? Sekarang tentukan, kamu akan membuat mobile app menggunakan react native secara insourcing / outsourcing. Tentunya masing-masing punya keunggulan dan kelemahannya. Kalau bingung, coba baca artikel SoftwareSeni yang membahas tentang insourcing / outsourcing

3. Buat Wireframe & Storyboard mobile app

Tahap development awal dari pembuatan mobile app adalah dengan membuat wireframe dan storyboard mobile app. Apa itu wireframe? Wireframe bisa dibilang sebagai blueprint dari produk digital / mobile app yang ingin kamu bangun. Visualisasinya begini:

wireframe dan storyboard

(Source: https://buildfire.com/understanding-mobile-app-development-lifecycle/)

Nah, kurang lebih Wireframe bentuknya seperti itu. Lalu, bagaimana dengan story board? Apa itu? Story board merupakan gambaran tentang bagaimana user akan berinteraksi dengan mobile app yang akan kamu bangun.

Jadi, kalau wireframe dan storyboard digabungkan, akan memiliki makna sebagai berikut; Gambaran jelas tentang ide dan fitur yang akan dipadupadankan dalam mobile app yang akan digunakan oleh user dengan optimal.

4. Mulai dari Backend

Ibarat membuat rumah, mulai dari pondasi dan kerangka-kerangka bangunan dulu. Konstruksi ini yang akan menentukan kekuatan seberapa berat beban yang bisa ditahan. Begitu juga saat membuat mobile app menggunakan react native. Backend ini akan mempersiapkan server, database, API, library dll, agar mobile app mampu mengelola traffic data dan tidak menghambat jalanya pengolahan data di server.

Nah, itu lah sebabnya, kamu perlu banget tahu kira-kira akan sebesar apa data yang akan dibutuhkan untuk dapat menjalankan mobile app dengan mulus. Kenapa? Jika kamu salah mengestimasi, server yang kamu pakai bisa down karena tidak mampu menangani traffic data yang banyak. Rugi waktu, rugi bandar.

Oleh karena itu, peran seorang Software Architect sangat lah penting untuk memastikan mobile app yang dibangun tepat guna. 

Oh iya, terkadang, ada batasan bagi backend terhadap wireframe & storyboard yang sudah dibuat. Untuk tahap ini, keep in mind untuk tetap fleksibel ya! Ehee.

5. Melakukan finalisasi wireframe & melakukan testing prototype mobile app

Nah, untuk teknologi kekinian, biasanya designer UI/UX menggunakan tools figma, untuk tahap final wireframe & storyboard. Bedanya, disini sudah mulai dibubuhi aset berupa logo, dan gambar dummy. Sebenarnya figma itu cuma salah satu dari banyaknya tools & platform yang bisa kamu pakai. Adobe XD misalnya. 

Jika kamu berniat untuk menggunakan figma sebagai platform untuk membuat wireframe & storyboard, kamu bisa tuh membuat simulasi clickable button. Jadi, flow mobile app akan lebih jelas. Biasanya sih, Software House, khususnya di SoftwareSeni menyebut tahap ini sebagai tahap mock-up.

Setelah mock-up berhasil dibangun, kamu belum bisa melaunch produk begitu saja. Produk masih dalam bentuk prototype. Kamu benar-benar harus teliti, apakah storyboard dan wireframe mobile app sudah sesuai. Dan lain sebagainya. 

6. Mengembangkan mobile app

Yuk, mulai menjahit bagian-bagian mobile app. Disinilah peran react native mulai kelihatan. Sebelumnya, seorang Software Architect, atau minimal developer full-stack sudah merancang kerangka mobile app yang akan dibangun. Nah, disini, proses memasak mobile app dimulai. Backend mulai membangun dashboard, API, library, hingga mendesain database mobile app. 

Nah, dengan bantuan mockup yang sudah difinalisasi, frontend mulai menjahit API untuk diintegrasikan dengan mockup menggunakan teknologi React. Bahasa simple sih begitu ya. Kalau bahasa tekniknya jelas lebih panjang dan dengan istilah bahasa yang hanya bisa dimengerti oleh sesama developer. Eheee.

Untuk apa sih dijahit? Jelas untuk membuat fungsi dalam mobile app berjalan. Fungsi mobile app pada mock-up dari finalisasi wireframe dan storyboard itu belum berjalan. Kenapa? Itu karena tidak ada data yang diambil, & tidak ada server untuk menampung & mengolah traffic data. Ibarat kata hanya gambar bergerak saja. Cuma bisa di click sana sini. Nah, peran react developer itu untuk mengintegrasikan database design, server, dll untuk dapat difungsikan kedalam mock-up. 

7. Test & Test

Ini yang tricky. Kadang, software house yang “nakal” akan mengurangi atau bahkan menghilangkan bagian krusial ini untuk menekan harga pembuatan software; dalam hal ini mobile app. Percayalah, tidak ada sistem yang sempurna. Itu sebabnya, perlu adanya testing yang dilakukan berulang-ulang, menggunakan kasus-kasus yang berbeda untuk memastikan tidak ada masalah besar yang terjadi. Celah dalam sistem itu pasti ada. Kecil besarnya saja yang bisa kamu mainkan. 

Orang yang melakukan testing mobile app disebut dengan QA (quality assurance). Jangan sampai deh ya, mobile app yang secara rancang bangun belum lolos QA, tetapi, karena “tampilan” dirasa sudah cukup, maka bisa seenak jidat kamu launch ke public. Serius deh. Jangan.

Biasanya nih, QA bakal nemuin celah / issue di dalam mobile app. Mungkin kamu sering mendengar kata “bug”. Yap, jika terdapat “bug” di dalam mobile app, maka mobile app harus kembali ke fase pengembangan. Bedanya, ini bukan menambah fitur mobile app, tetapi memperbaiki issue atau “bug” dalam mobile app. Proses ini sering disebut debugging. Uhuy, the more you know.

8. Siapkan peluncuran mobile app

Oh wow, bukan lageeeeee. Udah jadi banget nih mobile app nya. Siap-siap go public nih! Udah punya strategi marketing dan strategi bisnis nya belum? Yang jelas, kamu perlu mengedukasi pasar terkait mobile app yang kamu luncurkan. Dan kamu juga perlu banget tahu bahwa untuk mengedukasi pasar itu tidak sebentar. Nah, makannya butuh banget tuh yang namanya strategi marketing. Di dunia yang sudah serba digital, peran digital marketing bisa tuh untuk mengoptimalkan aktivitas marketing dengan menghadirkan konten marketing yang berkualitas. 

Kenapa React Native?

Sebenarnya, ada 1000 cara untuk membuat mobile app. Nah, pada bagian ini, fokus pada membuat mobile app menggunakan react native dulu, ya! Untuk teknologi yang lain, akan ada artikelnya sendiri! Eheeee.

membuat mobile app menggunakan react native

- Time saving

Kok bisa? Eheee. Pada paragraf atas, sudah sedikit disinggung perihal membuat mobile app menggunakan react native dengan kemampuan cross platform nya, kan? Nah, ketika developer bisa membuat mobile app android & iOS hanya dengan react, developer akan menghemat waktu jika dibandingkan developer harus mengembangkan mobile app dengan teknologi android native & iOS native. 

Selain itu, dari segi teknis, react native mampu untuk melakukan recompile atau bahasa manusia awam itu “reload” secara near to real time ketika developer melakukan perubahan pada code program. Para developer pasti ngerti deh, betapa dimudahkannya oleh fitur ini. Eheee.

- Easier

Masih nyenggol-nyenggol dikit tentang kemampuan two in one dari react native, nih. Membuat mobile app menggunakan react native bisa lebih “mudah”. Jelas “mudah” disini bukan untuk orang awam yang tidak paham bahasa program sedikitpun ya. Konteks “mudah” untuk developer. Kenapa? Bahasa pemrograman yang digunakan pada react native (javascript) dapat digunakan untuk membangun mobile app di iOS & android. Sehingga, developer tidak perlu mempelajari bahasa pemrograman android & iOS secara terpisah. 

- User Experience

User Experience bukan cuma penting dalam membuat website, tetapi juga dalam membuat mobile app. Dengan era mobile-first world, developer kudu pintar menghadirkan mobile-app yang “convert”. Maksudnya apa? Selain enak dilihat, mobile app juga kudu banget mudah untuk digunakan. 

Dengan kerangka kerja react native, developer bisa banget membuat mobile app yang memiliki efisiensi user experience tinggi. Namun, tidak semua developer sanggup, ya! Jadi, sekalipun react native mampu memberikan fleksibilitas pada developer untuk menciptakan UX yang baik, hasil akhir tetap ada ditangan developer. Jadi, jangan deh sekali-kali terbujuk rayuan kata “murah” dalam membuat mobile app. Beneran deh, low-cost software development itu bahaya banget!

- One Ecosystem

Dengan membangun mobile app menggunakan react native, developer tidak perlu mendalami ekosistem dan bahasa yang spesifik dari tiap operating system (iOS & Android). Cukup dengan bahasa Javascript & framework React, kamu bisa banget membuat mobile app.

- User Interface

Responsivitas user interface dalam mobile app akan sangat terjaga. Apalagi kalau kamu bandingkan dengan teknologi progressive web app milik Google, jelas mobile app yang dibuat dengan react native akan jauh lebih responsive. Tetapi, kamu juga perlu di ingat ya. Responsivitas itu bukan satu-satunya faktor yang menentukan kesuksesan sebuah mobile app.

- Fast

Memproses data, loading time dan akan lebih halus jika dibandingkan dengan teknologi yang PWA, sehingga pengalaman user dalam menggunakan mobile app akan jauh lebih optimal. Namun, tentu pembuatan PWA akan jauh lebih sedikit jika dibandingkan dengan membuat mobile app menggunakan react native. 

Kekurangan React Native

Sebelumnya sudah dikatakan jika tidak ada sistem yang sempurna. Nah, begitu juga dengan ketika kamu memutuskan untuk membuat mobile app menggunakan react native. Apa saja sih kekurangan react native?

membuat mobile app menggunakan react native

Teknis

- Debugging

Debugging itu apa sih? Debugging merupakan aktivitas memperbaiki sistem mobile app dari bug / error. Nah, untuk melakukan debugging pada react native ini sedikit kompleks. Kamu perlu melihat secara keseluruhan tentang bagaimana react native bekerja. Dari situlah, kamu baru bisa memutuskan langkah debugging yang tepat untuk bagian sistem mobile app yang bermasalah.

- Configuration

Kadang-kadang. Ini cuma kadang-kadang loh ya! Koordinasi local library didalam react native itu membutuhkan konfigurasi yang cukup banyak. Misalnya nih, outline Google Maps bisa menjadi langkah panjang jika harus dibandingkan dengan Android native yang hanya cukup satu langkah saja.  

Bisnis

- Opsi lain

Mungkin sebagian besar yang sedang mencari tahu tentang membuat mobile app menggunakan react native merupakan orang yang ingin memulai bisnis digital atau ingin membuat perusahaan startup. Yap, dari segi biaya, membuat mobile app menggunakan react native memang bukanlah yang paling terjangkau. Masih ada teknologi PWA yang mampu menekan anggaran tanpa mengurangi fungsionalitas aplikasi secara signifikan. 

Namun, tentu saja, membuat mobile app menggunakan react native masih jauh lebih terjangkau jika dibandingkan dengan membuat mobile app menggunakan Android native & iOS native. Jadi, sebelum kamu benar-benar memutuskan teknologi apa yang akan dipakai, alangkah lebih baik cari tahu dulu pro & con dari masing-masing teknologi tersebut. Sehingga, kamu bisa benar-benar tahu apa yang dibutuhkan.

Selain react native, PWA, Android native, iOS native, masih ada banyak alternative teknologi yang bisa kamu pakai. Misalnya, cordova

Sekarang, tinggal tentukan, mana yang akan menjadi investasi terbaik bagi bisnis / perusahaan kamu.

Kesimpulan

Membuat mobile app menggunakan react native itu bukanlah satu-satu nya cara. Namun, ada beberapa alasan yang perlu kamu tahu, kenapa sih react native itu cocok banget dipakai untuk membuat mobile app. Ops, mungkin masih banyak yang bingung, apa itu react native. Nah, react native itu merupakan kerangka kerja yang digunakan developer untuk membangun mobile app. Mungkin bisa kamu analogikan sebagai kerangka bangunan. Nah, ada 8 tahapan dalam membuat mobile app menggunakan react native yang perlu kamu pahami.

Pertama, melakukan market & tech research. Kedua, tentukan tujuan & objektif mobile app. Ketiga, buat wireframe & storyboard mobile app. Keempat, mulai dari backend. Kelima, finalisasi wireframe & storyboard mobile app. Keenam, mengembangkan mobile app. Ketujuh, Tes & tes. Yang terakhir adalah persiapkan launch mobile app kamu. Nah, penggunaan react native itu pada tahapan nomor 6; mengembangkan mobile app. Kira-kira, dari 8 tahapan tersebut, tantangan terbesar yang akan kamu hadapi itu ada di nomor berapa? Share di kolom komentar, ya! 

Ada 6 alasan kenapa kamu harus membuat mobile app menggunakan react native. Pertama adalah timesaving. Dibandingkan dengan membangun mobile app menggunakan Android native & iOS native, tentu kemampuan cross platform react native bisa banget untuk diandalkan. Kedua adalah easier. Tentu saja lebih “mudah” disini itu untuk developer ya, bukan orang awam yang zonk tentang bahasa pemrograman. Ketiga adalah user experience. Keempat adalah one ecosystem. Ya, tadi sudah ada sneak peek tentang kemampuan cross platform dari react native. Ehee. Kelima adalah user interface. React native itu bisa membuat mobile app jauh lebih responsif jika dibandingkan dengan PWA keluaran Google. Yang terakhir adalah fast. Loading time nya lebih cepat jika dibandingkan dengan mobile app hybrid, misalnya PWA. 

Tetapi, tentu tidak ada sistem yang sempurna. Begitu juga dengan react native. Nih, ada 3 kekurangan react native yang harus menjadi pertimbangan kamu sebelum benar-benar membuat mobile app menggunakan react native. Pertama, debugging. Sistem tidak ada yang sempurna. Pasti ada celah. Nah proses memperkecil celah sistem itu namanya debugging. Untuk react native ini rada sedikit kompleks. Tetapi, bagi developer, harusnya sih tidak menjadi masalah. Kedua adalah konfigurasi. Kadang-kadang, koordinasi local library di react native ini sedikit manja. Ehee. Yang terakhir adalah opsi lain selain react native. Memang benar, react native bukan satu-satunya cara untuk membuat mobile app. Makannya, cari tahu dulu pro dan con dari sebuah teknologi agar kamu benar-benar bisa memilih teknologi yang sesuai dengan apa yang kamu butuhkan.

Kehadiran seorang software architect sangat berpengaruh terhadap proses pembuatan mobile app. Kemampuan software architect dalam merancang susun bangun mobile app akan sangat membantu developer dalam proses pengembangannya. Oleh karena itu, sangat disarankan buat kamu yang masih asing dengan dunia IT untuk meminta bantuan pada software architect untuk memastikan pengerjaan mobile app yang sedang kamu lakukan itu tidak sia-sia. 

Susah mencari software architect? Jangan sedih, main ke SoftwareSeni dulu yok! Hihihihi.