React Native ile Android Geliştirme
Güncellendi: 18 Ağustos 2026 · Okuma: 7 dakika
React Native, JavaScript veya TypeScript ile hem Android hem iOS için tek kod tabanından uygulama geliştirmenizi sağlar. Flutter'dan farkı, arayüzü kendi çizmek yerine platformun gerçek native bileşenlerini kullanmasıdır — bu yüzden uygulama her platformda o platformun kendi hissini verir.
Orta
Android · iOS
1. React Native nedir?
Meta tarafından geliştirilen React Native, web dünyasında çok yaygın olan React'in bileşen mantığını mobil uygulamalara taşır. Yazdığınız <View> ve <Text> bileşenleri, çalışma anında Android'in gerçek native görünümlerine dönüştürülür.
2. Ne işe yarar, ne tür uygulamalar yapılır?
- Sosyal medya ve içerik uygulamaları: Akış, profil, yorum ekranları — React Native'in en güçlü olduğu alan.
- E-ticaret: Katalog, arama, sepet; web sitenizle kod paylaşımı yapabilme avantajı.
- Haber ve dergi uygulamaları: İçerik ağırlıklı, sık güncellenen ekranlar.
- Kurumsal uygulamalar: Zaten React bilen bir web ekibiniz varsa mobil uygulamaya geçiş maliyeti çok düşer.
Yoğun grafik işleme, ağır animasyon veya donanıma yakın işler için native (Kotlin) tarafı daha uygundur.
3. Flutter'dan farkı ne?
- Dil: React Native JavaScript/TypeScript kullanır; Flutter Dart kullanır. JS bilen ekipler için React Native'e geçiş neredeyse sıfır maliyetlidir.
- Arayüz: React Native platformun gerçek bileşenlerini kullanır (Android'de Android gibi görünür); Flutter her şeyi kendi çizer (her yerde aynı görünür).
- Ekosistem: React Native, npm'deki devasa JavaScript paket ekosisteminden yararlanır.
İkisi de olgun ve üretime hazır seçeneklerdir; seçim çoğu zaman ekibin mevcut bilgisine göre yapılır.
4. Android'e özgü dikkat edilecekler
Geri tuşu davranışı, çalışma zamanı izinleri (runtime permissions) ve arka plan görev kısıtlamaları Android'de iOS'tan farklı çalışır. React Native bunları soyutlasa da, kullanıcı deneyimini bozmamak için platforma özgü davranışları ayrıca test etmek gerekir.
5. Basit bir örnek
import { View, Text, Button } from 'react-native';
import { useState } from 'react';
export default function SepetSayaci() {
const [adet, setAdet] = useState(0);
return (
<View>
<Text>Sepette {adet} ürün</Text>
<Button title="Ürün ekle" onPress={() => setAdet(adet + 1)} />
</View>
);
}