- Katılım
- 21 May 2023
- Mesajlar
- 713
- Tepki
- 17
- Puan
- 18
Mobil uygulama yazmaya karar verdiğinizde ilk çatal yol burada çıkıyor: Android için Kotlin, iOS için Swift öğrenip iki ayrı uygulama mı yazacaksınız, yoksa tek kod tabanıyla ikisini birden mi hedefleyeceksiniz? İkinci yolun adaylarından biri React Native.
Bu yazı çerçevenin ne olduğunu, ekrandaki bileşenin gerçekten neye karşılık geldiğini, "yerel" nitelemesinin nereden geldiğini ve hangi ön bilgiyi gerektirdiğini çerçevenin kendi belgesiyle Android'in görünüm belgelerine bakarak ele alıyor.
Tanım
React Native'in bileşenler belgesi, çerçeveyi React'i ve uygulama platformunun yerel yeteneklerini kullanarak Android ile iOS uygulamaları geliştirmeye yarayan açık kaynaklı bir çerçeve olarak tanımlıyor.
Belge çalışma biçimini de özetliyor: JavaScript ile hem platformun arayüz programlama arabirimlerine erişiyor hem de kullanıcı arayüzünün görünümünü ve davranışını React bileşenleriyle tarif ediyorsunuz. Bileşenler, yeniden kullanılabilir ve iç içe geçebilen kod demetleri olarak anlatılıyor.
Görünüm nedir, neden önemli?
Belgeye göre Android ve iOS geliştirmede görünüm, arayüzün temel yapı taşı: metin veya görsel gösterebilen ya da kullanıcı girdisine yanıt verebilen küçük, dikdörtgen bir ekran ögesi. Uygulamanın en küçük görsel parçaları bile birer görünüm.
Android'in düzen belgesi bu tanımı kendi tarafından doğruluyor: düzendeki tüm ögeler View ve ViewGroup nesnelerinin hiyerarşisiyle oluşturuluyor. View genellikle kullanıcının görebileceği ve etkileşime girebileceği bir şey çiziyor, ViewGroup ise düzen yapısını tanımlayan görünmez bir kapsayıcı.
"Yerel" nitelemesi nereden geliyor?
React Native'in belgesi burada net bir cümle kuruyor: Android'de görünümleri Kotlin veya Java ile, iOS'ta Swift veya Objective-C ile yazarsınız; React Native ile aynı görünümleri JavaScript üzerinden React bileşenleriyle çağırıyorsunuz. Çalışma zamanında çerçeve, bu bileşenlere karşılık gelen Android ve iOS görünümlerini oluşturuyor.
Belgenin sonucu şu: bileşenler Android ve iOS'un kendi görünümleriyle desteklendiği için uygulamalar diğer uygulamalar gibi görünüyor, öyle hissettiriyor ve öyle çalışıyor. Bu platform destekli bileşenlere "Yerel Bileşenler" deniyor.
- <View>: Android'de ViewGroup, iOS'ta UIView karşılığı olan kapsayıcı.
- <Text>: Android'de TextView, iOS'ta UITextView karşılığı olan metin ögesi.
- Web karşılığı: Belgedeki tabloda bunlar sırasıyla kaydırmayan bir div ve p ögesiyle eşleştiriliyor.
Hazır gelen bileşenler
Belge, çerçevenin uygulamaya hemen başlanabilecek temel ve kullanıma hazır yerel bileşenlerle geldiğini söylüyor; bunlara Çekirdek Bileşenler adı veriliyor. Denetimlerden etkinlik göstergelerine kadar birçok bileşenin arabirim bölümünde belgelendiği de aynı sayfada yazıyor.
İhtiyacınız listede yoksa kapı kapalı değil: belge, Android ve iOS için kendi yerel bileşenlerinizi yazabileceğinizi ve topluluğun katkıda bulunduğu geniş bir bileşen ekosistemi olduğunu belirtiyor.
Püf nokta' Alıntı:Ekrandaki bileşenin platformdaki karşılığını bilmek, hata ayıklarken nereye bakacağınızı da söyler.
Neyi bilmek gerekiyor?
Çerçevenin giriş belgesi ön koşulu açıkça yazıyor: React Native ile çalışmak için JavaScript temellerini anlamış olmanız gerekiyor. Belge React, Android veya iOS geliştirme konusunda ön bilgi varsaymamaya çalıştığını, ancak bu konuların öğrenilmeye değer olduğunu da ekliyor.
Aynı hedefe farklı bir yoldan giden çerçeveleri karşılaştırmak isterseniz, derleme tarafındaki yaklaşımı Flutter yazımızda anlatmıştık.
Çalışma zamanında ne değişiyor?
Bileşenler platformun kendi görünümlerine dönüştüğü için, uygulama çöktüğünde karşınıza çıkan kayıt da platformun kaydı oluyor. Bu kayıtta ilk bakılacak yerleri uygulama çökmesi yazımızda ele almıştık.
İzinler tarafı da platforma ait: kamera veya konum erişimi reddedildiğinde uygulamanın nasıl davranacağını izin yazımızda görebilirsiniz.
Görünüm hiyerarşisi neden konuşuluyor?
Android'in belgesi View nesnelerinin genellikle widget olarak anıldığını ve Button ya da TextView gibi birçok alt sınıfa ait olabileceğini, ViewGroup nesnelerinin ise genellikle düzen olarak anıldığını ve farklı düzen yapıları sağladığını yazıyor.
React Native tarafında yazdığınız bileşen ağacı, çalışma zamanında işte bu hiyerarşiye dönüşüyor. Ekranda beklemediğiniz bir boşluk veya taşma gördüğünüzde, sorunun JavaScript tarafında mı yoksa platformun düzen kurallarında mı olduğunu ayırmak bu yüzden önem kazanıyor.
React Native'in belgesi de bileşenleri kim olduklarına göre değil, neye dönüştüklerine göre anlatıyor. Tablodaki eşleşmeleri bilmek, bir sorunu ararken hangi platformun belgesine gideceğinizi de belirliyor.
Sık Sorulan Sorular
React Native nedir?
Belgenin tanımıyla, React'i ve platformun yerel yeteneklerini kullanarak Android ile iOS uygulamaları geliştirmeye yarayan açık kaynaklı bir çerçeve.
Uygulama gerçekten yerel mi?
Belgeye göre bileşenler Android ve iOS'un kendi görünümleriyle destekleniyor; bu yüzden uygulamalar diğer uygulamalar gibi görünüyor ve çalışıyor.
Hangi dili bilmek gerekiyor?
Giriş belgesi JavaScript temellerinin anlaşılmış olmasını ön koşul olarak koyuyor.
Hazır bileşen var mı?
Var. Çerçeve, Çekirdek Bileşenler adı verilen kullanıma hazır bir yerel bileşen kümesiyle geliyor.
Kendi bileşenimi yazabilir miyim?
Belge, Android ve iOS için kendi yerel bileşenlerinizi yazabileceğinizi söylüyor.
Özetle
React Native, JavaScript ile yazdığınız React bileşenlerini çalışma zamanında platformun kendi görünümlerine çeviren bir çerçeve. "Yerel" nitelemesi buradan geliyor: ekrandaki kutu, Android'de ViewGroup, iOS'ta UIView oluyor. Hazır çekirdek bileşenler işi hızlandırıyor, eksik kalan yerde kendi bileşeninizi yazma kapısı açık. Ön koşul ise JavaScript temelleri.
Uygulamanızda hangi ekranların platforma özel davranış gerektirdiğini önceden listelediniz mi?
Güncelleme: 1 Eylül 2026. React Native'in çekirdek ve yerel bileşenler belgesi, giriş belgesi ve Android'in görünüm düzeni belgesi kontrol edildi.
Dijital Dünyanıza Yön Veren Pusula