React Native, yerel UI öğelerini kullanarak çok platformlu Android ve iOS uygulamalarının geliştirilmesini sağlayan bir mobil uygulama geliştirme kütüphanesidir. JavaScriptCore çalışma zamanı ve Babel transformatörlerine dayanır. Bu kurulumla RN, yeni JavaScript (ES6 +) özelliklerini, async / await vs.’yi destekler.
Mobil uygulama geliştirme için, 2013 yazında Facebook’un iç hackathon projesi olarak başladı. İlk genel önizlemesi 2015 Ocak ayında Reactjs Konferansında yayınlandı ve 2015 Mart ayında Facebook, React Native’ı GitHub’da açık ve kullanıma sunuldu.
O zamandan beri, yerel uygulamalar ve mükemmel Kullanıcı Arabirimleri üretme kabiliyeti nedeniyle geliştiriciler ve kuruluşlar tarafından geniş çapta benimsendi . Aşağıdaki grafikte, React Native için artan trendi görselleştirebilirsiniz. Piyasaya sürülmesinden sadece 1,5 yıl sonra, Android ve iOS geliştirmeyi devraldı.
React Native;ın ne olduğunu ve ne kadar popüler olduğunu görün.
Şimdi, bugün kullandığımız uygulamaların çoğunun Java / Kotlin veya Objective-C / Swift yerine çoğunlukla JavaScript kullanılarak oluşturulan bir iş mantığına sahip olmasından şaşırmamalısınız . Bazıları Myntra, UberEats, Facebook ve Instagram.
React Native’ın ne olduğu hakkında konuştuğumuzdan, ‘yerel uygulamanın’ ne anlama geldiği konusunda kafanız karışabilir.
Yerel mobil uygulamalar nelerdir?
Yerel mobil uygulamalar, bu durumda Android veya iOS için özel olarak bir işletim sistemi için oluşturulan uygulamalardır. İOS’ta yerel bir uygulama oluşturmak için Objective-C / Swift geliştirme dilini kullanıyoruz ve Android için Java / Kotlin kullanıyoruz.
React Native’e gelince, son Kullanıcı Arayüzü bir WebView’da sadece bir web bileşeni oluşturmaz. Kullanıcı Arabirimi, gerçek yerel görünümler ve Swift veya Java kullanılarak oluşturulan uygulamalardan ayırt edilemeyen temel yapı taşları kullanılarak oluşturulur.
React JS nedir?
React Native’ın detaylarına girmeden önce, React JS’nin ne olduğunu bulalım:
* Facebook Open Source tarafından oluşturulan bir JavaScript kütüphanesidir
* Bir Kullanıcı Arabirimi (UI) kütüphanesidir
* UI bileşenleri oluşturmak için bir araçtır
React Native, React JS’ye benziyor, ancak, önemli yapı taşları olarak web bileşeninden ziyade yerel bileşenleri kullanıyor. Bir React Native uygulamasının temel yapısını kavramak için JSX (JavaScript XML), bileşenleri, durumu ve destekleri gibi temel React fikirlerinin bir kısmını görmelisiniz.
Bununla birlikte, React Native’da uygulama geliştirmekle ilgileniyorsanız, React JS’yi öğrenmek zorunlu değildir, sadece React Native ile başlayabilirsiniz.
Neden standart bir JavaScript sözdizimine benzemiyor
Yalnızca daha eski JS standartlarına aşina bir web geliştiricisiyseniz, size JavaScript gibi görünmeyecektir. ES2015, şu anda resmi standardın bir parçası olan JavaScript’te yapılan bir geliştirmedir. ES6, eski tarayıcılar tarafından desteklenmemektedir, bu yüzden Babel gibi transpil kullanmaya ihtiyaç vardır.
Babel aktarıcısı sayesinde React Native, JavaScript ES2015’in pek çok özelliğini destekler ( burada tam liste ), bu yüzden farklı teknolojilerle olan uyumluluğunu vurgulamadan bu teknolojiden yararlanabilirsiniz. Verilen Snippet’te ES2015 özelliklerinden bazıları şunlardır ithalat, gelen ve sınıf. ES2015 ile rahat değilseniz, sadece kaynak bölümünde listelenen kaynaklardan gelen örnek kodları okuyarak alabilirsiniz.
Bu JSX, XML’in JavaScript içine yerleştirilmesi için bir dilbilgisidir. Kodunuzu biçimlendirme dili içine yazmanıza olanak sağlar. Web geliştirmede kullandığımız HTML gibi görünüyor, ancak <div> veya <span> kullanmak yerine, React Native bileşenlerini kullanacaksınız. Burada, <Metin> yalnızca bazı içerikleri gösteren ve Görünüm <div> veya <span> ‘e benzeyen yerleşik bir bileşendir .
React Native kullanmaya değer mi?
Herhangi bir diğer teknolojinin avantajları ve dezavantajları olduğu için, Native’i araştırmalısın. React Native’in kendi projeniz için uygun olup olmadığına karar vermeden önce, çok doğru bir araştırma yaplamlısınız.
React Native’nin Artıları:
# 1 Zaman Kazandıran
Bu sistemin birincil avantajı zaman tasarrufu olmasıdır. Başlangıçta, geliştiricilerin her değişiklikle yeniden derlenmesinden kaçınır, çünkü uygulama geliştirme aşamasında hemen yeniden yüklenir. Bir Android tasarımcısı işkenceyi anlayabilir.
# 2 Daha Kolay
Kütüphane, iOS ve Android için harmanlanabilecek tek bir kod tabanının oluşturulmasını sağlar. Mühendisin kodlamaya daha az enerji harcamasını sağlar.
# 3 Kullanıcı Deneyimi
Bu kütüphane ile hayal edilen bir mobil uygulama yüksek kalibreli, olağanüstü yürütme ve modern kullanıcı deneyimi sağlar.
# 4 Bir ekosistem
Bunun yanı sıra, her yönüyle hazırlanmış bir JavaScript mühendisi, her bir işletim sisteminin ekosistemine ve dil özelliklerine dalmadan bu kütüphaneyi kullanarak çok yönlü bir uygulama geliştirebilir.
# 5 Kullanıcı Arabirimi
Takip eden Kullanıcı Arabirimi aşırı derecede duyarlıdır ve yerel koşullarla senkronize olmayan JavaScript bağlantılarından dolayı sıvı hisseder.
# 6 Hızlı
Bu, uygulamanın bir hibrit model kullanılarak inşa edilenden daha hızlı yükleme süresine ve daha yumuşak bir hissine sahip olacağı anlamına gelir.
React Native’nin eksileri:
# 1 Hata ayıklama
React Native tarafından oluşturulan bir uygulamanın hatalarını ayıklamak için karmaşık bir işlemdir. React Native’in kodu üretme şeklini araştırmanız ve nasıl davranacağınıza karar vermeniz gerekir.
# 2 Yapılandırma
Bazen, bir React Native uygulamasının içindeki yerel kütüphane koordinasyonu birçok yapılandırma gerektirir. Örneğin, bir Google Haritalar taslağı Android Native uygulamasında bir dakika sürerken uzun mesafeli bir çalışmaya dönüşüyor.
React Native’in rakipleri
Ionic ve Cordova, benzer amaçlarla kullanılan diğer kütüphanelerden bazılarıdır. Sözde hibrit uygulamaları yapıyorlar. Bunlar standart Web yenilikleriyle yaratılmıştır ve WebView gibi yerel temel bileşenlerle kaplanmıştır. Hiç de React Native gibi değil, bu yüzden yerel gelişime yönelik gerçek bir kaplamadır.
Daha önce de belirttiğimiz gibi, React Native yerel yapı taşlarını kullanır ve İşletim Sistemine bir kaplama değildir. Aslında, JavaScript’ten oluşan kod, yerel kodlara (temel yapı taşları) dönüştürülür. Bu yüzden, WebView bileşeninin içine yerleştirilmiş web uygulaması yerine JavaScript iş parçacığı tarafından kontrol edilen tamamen doğal bileşenleri kullanan bir uygulamayla son buluruz.
Cordova veya İon üretilen grafik arayüzü aynı zamanda verimlilik ve kalite ve müşteri deneyimi ihraç etti, bir Web View, aracılığı ile gösterilir. Bu teknolojiyle oluşturulmuş uygulamalar yerel UX ücretinde bulunmaz.