Mengenal React, React Native, Bare React Native, dan Expo
Halo teman-teman, kali ini kita akan membahas seputar teori tentang bahasa pemrograman javascript library React.
React adalah library javascript yang didevelop oleh Facebook, yang sekarang sudah berganti nama menjadi Meta pada tahun 2013.
Terdapat 2 tipe React:
1. React
React aja atau disebut react js digunakan untuk membuat website.
2. React Native
React native adalah framework yang khusus untuk pembuatan aplikasi mobile hybrid, untuk handphone Android dan IOS.
Apabila dalam pembuatan aplikasi ingin penambahan library/komponen lain bisa dicek di website https://www.npmjs.com/, dan perlu menjadi catatan, library khusus react tidak bisa berjalan untuk aplikasi react native, begitu juga sebaliknya, library khusus react native tidak bisa digunakan untuk aplikasi react.
Di dalam React Native sendiri, terdapat 2 cara membuat aplikasi
1. Bare React Native
biasa disebut juga pure react native, dengan cara ini kita melakukan semua setup penambahan library dan harus juga meng-compile saat development dan production.
Kelemahan Bare React Native:
a. Anda harus melakukan semua setup dan compiling, proses setup dan compiling cukup memakan waktu, apalagi komputer yang Anda gunakan komputer biasa, khusus laptop Apple Macbook biasa lebih cepat dalam compiling.
b. Proses setup dan compiling dalam bare react native sangatlah tidak stabil, terkadang project yang dicompile dan running sebelumnya, keesokannya dapat terjadi error. Hal ini membuat waktu development aplikasi menjadi lama.
c. Khusus pembuatan aplikasi yang berjalan di IOS Anda harus menggunakan laptop Macbook.
Kelebihan Bare React Native:
Dapat menggunakan semua library khusus react native yang ada di website https://www.npmjs.com/. Tidak terbatas hanya untuk library yang mendukung Expo
2. Expo
biasa disebut juga managed workflow project, dengan cara ini Expo membantu kita menginstall penambahan library dan membantu meng-compile saat development dan production.
Kelemahan menggunakan Expo
Tidak mendukung semua library khusus react native, hanya library yang didukung oleh Expo yang dapat di include ke dalam project Expo. Anda dapat memeriksa apakah suatu library mendukung expo atau tidak lewat website berikut: https://reactnative.directory/
Apabila dikemudian hari Anda ingin menggunakan library diluar yang disupport oleh Expo, maka Anda bisa melakukan Eject.
Update: versi terbaru Expo menggunakan teknologi EAS memungkinkan penggunaan library diluar dari yang disupport oleh Expo, feature ini merupakan teknologi baru, masih terdapat banyak kekurangan, library juga perlu dilakukan config plugin, namun teknologi ini sangat menjanjikan, sudah ada beberapa library yang berjalan dengan baik.
Kelebihan menggunakan Expo
Expo membantu proses include library dan compiling menjadi lebih cepat.
Expo dapat membantu Anda meng-compile dan mengupload aplikasi langsung ke Play Store atau Apple Store, sehingga tidak memerlukan laptop Macbook untuk mengcompile, namun Anda tetap harus mempunyai akun developer untuk meng-publish aplikasi di Apple Store.
Sebagai catatan, biaya akun developer untuk dapat men-publish aplikasi di Apple Store adalah 99$ per-tahun, sedangkan biaya untuk akun google developer khusus aplikasi Android adalah 25$ sekali bayar alias seumur hidup.
nice work