Neden React Native 1

Mobile uygulama geliştirme denilince akla Native ve Hybrid teknolojiler gelemekte. Özellikle son 5 yıldır Native çözümlerin karşısında durmaya çalışan Hybrid teknolojisi, kullanıcı deneyimi olarak sınıfta kalmakta ve geliştiriciler Native alana daha çok yönelmektedir.

2015 yıldında, öncelike iOS daha sonrasında Android olmak üzere her iki platform için yayınlanan Reac Native componenti, Native uygualma geliştirmenin karşısında bir çözü olmak yerine, kullanıcı deneyimi ve tamamen native bileşenleri ile tam yanında bir alternatif sunmuştur.

Bu yazımda sizlere React Native nedir? Onu diğerlerinden ayıran özellikleri nelerdir? bunları ele alacağım.

React Native ‘Native’ dir.

Facebook tarafından geliştirilen React Native  ismine ‘Native’ kelimesini almasına ve Github sayfasındaki şu iddialı cümle ile ‘Native’ damgasını omuzlarında oldukça görkemli bir şekilde taşımakta!

Buradaki en önemli anahtar kelime React Native’in ilk planda akla geldiği gibi, WebView üzerinde çalıştığı fikrinin aksine tamamen Native komponentlerden oluşan uygulamalar üretebilmesidir.

Hybrid mantığı gibi bir WebView bileşeni üzerinden Html sayfayı göstermek yerine, tamamen native bileşenler ile uygulama geliştirebileceğiniz bir Framework olduğu güzelce ifade ediliyor.

React Native’in çalışma mantığına bakacak olursak bir class’ınızın içerisinden native bir TextView bileşeni veya UILabel bileşeni oluşturmak istediğinizde, Javascript ile bu class arasına bir köprü kurarsanız ve uygulama çalıştığında Javascript fonksiyonlarımız ile bu köprüyü kullanarak tamamen native bir TextView  veya UILabel bileşeni oluşturabilirsiniz.

Çok Ama Çok Hızlı Geliştirilebilir.

Yazılım geliştiricilerin, development süreçlerinde karşılaştığı en büyük engel şüphesiz zaman. Projenin zamanında yetişmesi için fazla mesai yapmak dışında geliştirme süreçleri üzerinde de ciddi olarak düşünmek ve olabildiğince optimize etmek gerekiyor. Diğer yandan istediğimiz kadar optimize yapımız olsun bazı engelleri aşamayabiliriz. Mobil dünya açısından baktığımızda buna Native geliştirme için kullandığımız dillerin compile sürelerini düşünebiliriz. Java, ObjC veya Swift hangi dili kullanırsak kullanalım, Compile-time bizim için ciddi oranda zaman kaybı yaşatıyor. Tabii sadece compile değil, sonrasında Linking ve Building süreçleri sonunda yazdığımız kod mobil cihazda test edilebilir hale geliyor. Bu süreleri kısaltmak için, incremental buildler gibi çeşitli çözümler olsa da tam anlamıyla bir Javascript projesinin geliştirme hızına asla ulaşamıyoruz.

React Native ise, Javascript dilinin yapısı gereği ilk anda bir compile time’a ihtiyaç duymaz. Bu da bize yazdığımız kodların otomatik olarak test edilebilmesine imkan sağlar. Aynı Web uygulamaları geliştiriyor gibi, uygulamanın bir watcher ile izlenip her değişikliğimizin otomatik olarak bundle edilmesini sağlayabiliriz.

Yorumunuzu Ekleyin

E-posta hesabınız yayımlanmayacak.