React Native, Facebook tarafından geliştirilen ve birden çok platform için tek dil sayesinde mobil uygulama geliştirmenize olanak sağlayan bir frameworktür. React Native’in bu özelliği sayesinde IOS, Android ve Windows gibi platformlar için ayrı ayrı diller kullanmanıza gerek kalmadan, sadece React Native kütüphanesini kullanarak uygulama geliştirebilirsiniz.

React Native Nedir?
Farklı platformlar için cross-platform geliştirme imkanı sunan React Native’in kendine özgü bir uzantısı da bulunmuyor. Yazdığınız uygulamanın Android çıktısını .apk uzantısıyla, IOS çıktısını .ipa uzantısıyla alıyorsunuz. Bunun yanı sıra, React’ın kendine özgü (JSX) dil formatı bulunuyor.
2013 yılının yaz aylarında, Facebook içerisinde düzenlenen bir hackathonda temelleri atılan React, 2 yıllık bir geliştirme ve test sürecinin ardından 2015 yılının Ocak ayında resmen duyuruldu. Önce ReactJS isimli konferansta duyurulan ardından 2 ay sonraki F8 etkinliğinde de Github üzerinden yayınlanan framework daha ilk yılında çok büyük bir ilgiyle karşılaştı. Rakamsal olarak anlatmak gerekirse, ilk yılında 1002 geliştirici, 7971 kere geliştirme yaparak frameworke katkı sağlamış. Performans ve verim anlamında da yüksek noktalarda bulunan React, arkasında Facebook’un da desteğinin olması sebebiyle kısa sürede çok popüler bir hale geldi. Açık kaynaklı bir yazılım olması da, geliştiricilerin üzerinde sürekli güncelleme yapmasına ve daha iyi seviyelere getirmesine yol açtı.

React Native Nerelerde Kullanılır?
React, bir ön yüz yani front-end frameworku ve bir uygulama arayüzündeki yazılımsal ve tasarımsal tüm işleri kapsıyor. Firebase, MySQL, GrapSQL, NodeJS, MangoDB gibi back-end platformlarıyla entegre olması sebebiyle React diliyle çok kapsamlı uygulamalar yazılabiliyor. Bu uygulamalar arasında Facebook, Instagram, Skype, Pinterest, UberEATS, Bloomberg ve Tesla Motors gibi dünyanın en popüler uygulamaları da bulunuyor.
React Native dilinin avantajları
React’ın en önemli avantajlarının başında tek bir dil kullanılarak birden fazla platform için aynı anda uygulama yazılabilmesi geliyor. React’ın bu Cross-platform özelliği sayesinde hem çalıştırdığınız developer sayısı hem de geliştirme sürecine harcadığınız zaman ve maliyetleriniz efektif bir şekilde düşüyor. Buna ek olarak, sadece bir text editör ve emilatör yardımıyla hızlıca uygulama geliştirebilme imkanınız bulunuyor. Debug, test ve güncellemeler için saatlerinizi harcamanıza gerek kalmıyor.

React, yayınlandığı günden itibaren çok ciddi bir ilgi ve topluluk desteği gördü. Kendi topluluğu, React için sürekli güncellemeler yapıyor ve dilin en yüksek performans noktasına çıkması için çalışmalar yapıyor.
React Native dilinin dezavantajları
Henüz çok yeni bir framework olmasından dolayı React’ın hala geliştirilmekte olduğunu söyleyebiliriz. Bu nedenle Python, C#, PHP gibi dillerle kıyaslandığında hala çok eksik yanlarının bulunduğunu söylemek mümkün. Sürekli yeni eklenti, arayüz ve güncelleme ihtiyacı doğması da bu savımızı kanıtlıyor.
Facebook düzenli olarak React için güncellemeler yayınlıyor ve bazı geliştiricilerin yarattığı paketler eski sürümlere yönelik oluyor. Bu durumda, paket uyuşmazlığından dolayı bazı sıkıntılar doğabiliyor. Eski sürüm için yazılmış paket yeni sürümde çalışmayabiliyor ve bu da geliştirici için çok büyük bir hayal kırıklığı anlamına geliyor.
Bir diğer büyük eksisi de eğer Mac işletim sistemine sahip bir bilgisayarınız yoksa IOS tarafı için çıktı alamıyorsunuz.
Sonuç olarak, React Native henüz yeni bir freamework olmasına ve bazı dezavantajları bulunmasına rağmen, arkasında Facebook desteği ve büyük bir topluluğa sahip olması nedeniyle geleceğin önemli dilleri arasında olacak gibi duruyor. Farklı platformlar için aynı anda uygulama geliştirilebilmesi ve hızlı kod yazımına olanak sağlaması nedeniyle de geliştiricilerin tercihi olmaya devam edeceğini rahatlıkla söyleyebiliriz.