React Native ile Mobil Uygulama Geliştirme: Tek Kodla iOS ve Android
React Native, Facebook tarafından geliştirilen ve açık kaynak olan bir framework. JavaScript yazarak hem iOS hem de Android uygulaması oluşturmanı sağlıyor. Aynı kod tabanı iki platformda çalışıyor; bu geliştirme süresini ve maliyetini ciddi oranda azaltıyor.
Temel avantajı "learn once, write anywhere" felsefesi. React biliyorsan, React Native'e hızlıca geçiş yapabilirsin. Native API'lere erişim sağladığı için kamera, konum, bildirimleri kolayca kullanabilirsin. Expo gibi araçlarla bilgisayarında hemen test edebilirsin.
Basit bir sayaç uygulaması örneğine bakalım:
1import React, { useState } from 'react';2import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';34const Counter = () => {5const [count, setCount] = useState(0);67return (8<View style={styles.container}>9<Text style={styles.title}>Sayaç: {count}</Text>10<TouchableOpacity 11style={styles.button}12onPress={() => setCount(count + 1)}13>14<Text style={styles.buttonText}>Arttır</Text>15</TouchableOpacity>16</View>17);18};1920const styles = StyleSheet.create({21container: { flex: 1, justifyContent: 'center', alignItems: 'center' },22title: { fontSize: 24, marginBottom: 20 },23button: { backgroundColor: '#007AFF', padding: 10, borderRadius: 5 },24buttonText: { color: '#fff', fontSize: 16 }25});2627export default Counter;Bu kod React Hooks'u kullanıyor. View, Text ve TouchableOpacity React Native'in temel bileşenleri. Web'deki div, p, button yerine bunları kullanıyorsun.
Performans açısından, React Native native bileşenleri çağırıyor, bu yüzden web'deki gibi DOM değil. Ağır işlemler için Native modüllere geçebilirsin. Başlamak istiyorsan Expo CLI en kolay yol:
1npx create-expo-app MyApp2cd MyApp3npm startTelefonundan Expo uygulaması açıp QR kodu tara, uygulamayı canlı görebilirsin. Kod değiştiğinde anında güncellenir.
Tek uyarı: bazı özel platformlar (AR, ağır grafikler) için native kodu doğrudan yazman gerekebilir. Ama çoğu iş uygulaması, sosyal medya, e-ticaret ve haber uygulamaları React Native ile sorunsuz geliştiriliyor. Spotify, Discord, Shopify bunu kullanıyor.
0 yorum