React vs React Native
Eko Susilo Harjo September 21, 2024

Apa Itu React?
React adalah library JavaScript yang diciptakan oleh Facebook pada tahun 2013. Library ini digunakan untuk membangun antarmuka pengguna (UI) yang interaktif pada aplikasi web. Salah satu kekuatan utama React adalah kemampuannya dalam pengelolaan “state” dan rendering komponen yang efisien.
Contoh React:
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Kamu menekan tombol sebanyak {count} kali</p>
<button onClick={() => setCount(count + 1)}>
Klik Saya
</button>
</div>
);
}
export default Counter;
Pada contoh di atas, React digunakan untuk membuat komponen sederhana yang menghitung berapa kali tombol telah ditekan. Dengan useState
, kita bisa melacak data dalam komponen tanpa perlu refresh halaman.
Apa Itu React Native?
React Native, di sisi lain, juga diciptakan oleh Facebook dan dirilis pada 2015. Berbeda dengan React yang berfokus pada aplikasi web, React Native adalah framework untuk membangun aplikasi mobile lintas platform (iOS dan Android) menggunakan bahasa JavaScript. Dengan React Native, developer bisa menulis satu basis kode yang dapat berjalan di dua platform berbeda.
Contoh React Native:
import React, { useState } from 'react';
import { Text, View, Button } from 'react-native';
function Counter() {
const [count, setCount] = useState(0);
return (
<View>
<Text>Kamu menekan tombol sebanyak {count} kali</Text>
<Button onPress={() => setCount(count + 1)} title="Klik Saya" />
</View>
);
}
export default Counter;
Kode di atas mirip dengan contoh React, tetapi ada beberapa perbedaan. React Native menggunakan komponen View
, Text
, dan Button
, bukan elemen HTML seperti <div>
atau <button>
yang digunakan di React.
Perbedaan Utama: React vs. React Native
- Tujuan Penggunaan
React digunakan untuk membangun aplikasi berbasis web, sedangkan React Native digunakan untuk aplikasi mobile. Jika kamu ingin membuat aplikasi yang berjalan di browser, React adalah pilihan yang tepat. Namun, jika kamu ingin membangun aplikasi yang dapat di-install di perangkat mobile (iOS dan Android), maka React Native lebih cocok. - Komponen
Pada React, kita bekerja dengan elemen HTML standar seperti<div>
,<h1>
, atau<button>
. Namun, di React Native, kita menggunakan komponen khusus sepertiView
,Text
, danButton
. Ini karena React Native berinteraksi langsung dengan elemen-elemen UI bawaan dari masing-masing platform mobile. - Rendering
React me-render HTML DOM di dalam browser, sementara React Native me-render native component. Dengan kata lain, di React Native, kode JavaScript kamu akan diterjemahkan menjadi komponen native yang spesifik untuk iOS atau Android. Inilah yang membuat aplikasi React Native terasa “native” di perangkat mobile. - Styling
Dalam React, kita sering menggunakan CSS untuk mengatur tampilan. Di React Native, styling diatur dengan menggunakan objek JavaScript yang menyerupai CSS, tetapi dengan sedikit perbedaan. Misalnya, propertibackground-color
di React menjadibackgroundColor
di React Native.Contoh styling di React Native:
const styles = {
container: {
backgroundColor: 'blue',
padding: 10,
},
text: {
color: 'white',
}
};
Alat Bantu Pengembangan
Baik React maupun React Native didukung oleh ekosistem alat bantu yang kuat seperti Chrome DevTools dan Redux. Namun, React Native menawarkan alat tambahan seperti Expo yang mempermudah testing di perangkat mobile.
Performa
Untuk aplikasi web, React menawarkan performa yang sangat baik karena efisiensi dalam re-rendering komponen melalui Virtual DOM. Di sisi lain, React Native memberikan performa tinggi di mobile karena komponen-komponennya diterjemahkan langsung ke komponen native. Namun, jika kamu membutuhkan akses langsung ke hardware, seperti kamera atau GPS, di aplikasi mobile, React Native mungkin memerlukan penyesuaian ekstra atau integrasi dengan kode native.
Kapan Harus Menggunakan React dan React Native?
- Gunakan React jika:
- Kamu ingin membuat aplikasi web yang dapat diakses melalui browser.
- Kamu ingin memanfaatkan kecepatan dan efisiensi Virtual DOM.
- Kamu menginginkan library yang terintegrasi dengan ekosistem front-end seperti Next.js atau Gatsby.
- Gunakan React Native jika:
- Kamu ingin membangun aplikasi mobile yang berjalan di iOS dan Android dengan satu basis kode.
- Kamu tidak ingin mempelajari bahasa native seperti Swift (untuk iOS) atau Kotlin (untuk Android).
- Kamu membutuhkan akses ke fitur-fitur native perangkat mobile seperti kamera, geolokasi, atau push notification.
Kesimpulan
React dan React Native memiliki tujuan yang berbeda, meskipun keduanya berasal dari ekosistem JavaScript. Jika tujuanmu adalah mengembangkan aplikasi web yang interaktif, maka React adalah pilihan terbaik. Namun, jika kamu ingin membangun aplikasi mobile dengan performa native tanpa harus mempelajari bahasa pemrograman lain, React Native adalah solusinya.
Memahami perbedaan keduanya akan membantumu memilih teknologi yang tepat sesuai dengan kebutuhan proyekmu. Pastikan untuk mempertimbangkan target platform, performa, dan keahlian tim pengembangan sebelum membuat keputusan.
Discover more from teknologi now
Subscribe to get the latest posts sent to your email.