React Native Nedir?

React Native, yeni nesil React – Facebook tarafından geliştirilen ve 2013’te Github’da açık kaynak olan bir JavaScript kütüphanesidir.

Native uygulama oluşturma, yalnızca belirli bir işletim sistemi için uygulamalar yazmak anlamına gelir.

React Native, geliştiricilerin yazdıkları kodu web üzerinden ve mobil ortamda yeniden kullanmasına yardımcı olur.

Geliştiriciler, iOS ve Android için aynı uygulamayı sıfırdan oluşturmak zorunda kalmayacak. Her işletim sisteminde kodu tekrar kullanabileceklerdir. React Native ile ilgili harika olan şey, Objective-C‘de ve ya Java‘da bitmiş bir uygulama ile React Native’i kullanarak inşa edilmiş bir uygulama arasında çok az fark olmasıdır.

Android ve iOS’un kod geliştirme ortamları çok farklıdır. Bu yüzden iki farklı platforma uygulama çıkarmak zaman alır. Ancak React Native ile yalnızca bir geliştirici farklı mobil işletim sistemlerinde yazabilir.

React Native’in çalışma prensibini şu şekilde düşünebiliriz. Android üzerinde xml ile View kısmını oluşturabildiğimiz gibi, Java kodlarıyla da View oluşturabiliriz. MakeSquare.java isminde bir Java class’ımızın olduğunu düşünelim. Bu Java class’ı runtime’da belli tiplerde kare grafikler üretmektedir. Eğer Javascript ile bu class arasına bir köprü atarsak ve uygulama çalıştıktan sonra Javascript fonksiyonlarımız ile bu köprü vasıtasıyla kare grafik üretebiliriz. Başka bir örnekte, bir TextView nesnesi düşünelim. Yine aynı şekilde TextView üreten bir class yaptığımızda, Javacript runTime’da bunu çağırabilmektedir. Aslında bu paradigmaya çok da uzak değiliz. Hibrit uygulama geliştirirken de bu çoğu zaman Cordova (veya Phonegap gibi türevleri ile oluyor.) ile bu tip köprüler kurabiliyorduk. React’ın buna getirdiği çözüm ReactJS’in yapısında sunduğu pek çok avantajı da öneriyor olmasıdır.

React Native’in Artıları

 

Topluluk desteği

 

Çoğu çevrimiçi geliştirici topluluğunda olduğu gibi React Native’de büyüyor ve geliştiricilere deneyimli geliştiricilerin harika bir ağını sunuyor.

Başlarken, sık karşılaşılan sorunlara ve sorgulara hızlı yanıtlar edinebilirken, React Native’e yönelik yeni güncellemelerden de yararlanabilirsiniz.

Ayrıca size yardımcı olacak bir sürü dokümantasyon olacaktır.

 

Daha hızlı gelişme

Hız çoğu zaman gelişmenin söz konusu olduğunun kanıtıdır. Bir uygulamanın gelişimini hızlandırabilecek her şey çok önemlidir!

React Native ile geliştirme zamanı oldukça kısadır. Bu, önceden oluşturulmuş unsurların miktarına bağlıdır, yani kopyala yapıştır yaklaşımı oldukça sık alınabilir.

 

Daha yakın takımlar

React Native, hem iOS hem de Android geliştiricileri bir araya getirirse büyük olasılıkla daha yakın ekiplerle çalışmış oluyorsunuz demektir. Bu, birlikte çalışmayı ve kararları çok daha kolay alınabilir hale getirmelidir.

 

Çapraz platformlu yapı

Kopyalanıp tekrar tekrar kullanılabilen kodu yaratır. Oldukça kısa zamanda işveren ve  geliştirici için para kazandıracaktır.

 

Gelişime açık

Bazı özel modüller eksik, yani zaman kazandıran ikramiyelerin bir kısmını siz oluşturabilirsiniz, kendi modüllerinizi inşa etmeniz ve yaratmanız gerekebilir. Bu da kendinizi bu alanda geliştirmenizi sağlayacaktır.

 

 

Neden açık kaynak?

2015 yılına gelindiğinde, Facebook blog yazısında şunları söyledi: “Açık alanda birlikte çalışırsak, teknolojinin durumunu birlikte geliştirebiliriz.”

Geliştirici topluluğu, açılanlara sadıktır. Dünyanın dört bir yanındaki Web geliştiricileri, koddaki bir hatayı ücretsiz olarak gösterebilir.

Açık kaynak projeleri geliştirmek, Facebook’un çalışması gereken en coveted şirketlerden biri olmasına yardımcı olur. Geliştiriciler meydan okumayı istiyor – ve Facebook, çalışanlarını işe alabilmek için yetenekli bir mühendis havuzundan seçiyor.

Ayrıca, eğitimden tasarruf sağlar. Eğer Facebook’ta çalışan her mühendis, React Native’e nasıl yazılacağını zaten biliyorsa, çalışan bir başlangıç ​​yapmış durumda olur.

Facebook’un gelişimini olgunlaştıracak bir kültürü var. 12 yıldan uzun bir süredir bir milyar kullanıcısına, binlerce geliştiriciye ve üç önemli platforma (iOS, Android ve Web) hizmet vermek üzere ölçeklendirilmiştir.

React Native öğrenmeli miyim?

Bir kez yaz,her yerde çalışsın, Java için Sun tarafından kullanılan bir slogandı. Yıllar içinde pek çok farklı teknoloji geliştirdikleri sistemin esnekliğini belirtmek için, bu slogana benzer sloganlar ürettiler. React Native ile ilgili insanların ilk düşüncesi, Hibrit uygulamalar gibi bir kere yazılıp bütün platformlarda çıktı alınabilir olduğudur. Ancak, React Native’in yaklaşımı biraz farklıdır. Her platformun kendine özel UI yapısı, çalışma prensibi yapısı vardır. Dolayısıyla ortak yazdığımız bir kodun farklı platformlarda direkt olarak çalışabilir olması, özellikle kullanıcı deneyimi açısından da istemeyeceğimiz bir şey olacaktır. React Native’in de prensibi olan bir kez öğren,her yerde ile React Native’in çalışma yapısının öğrenildikten sonra, farklı platformlarda platformun gereksinimlerine göre uygulama yazmamıza izin vermektedir.

Bunun yanında platforma özel kod yazarken de, platformdan bağımsız mobil uygulamalarda ortak kullanılan birçok nokta olacaktır. Bu noktada iki platform için ortak kodbase de oluşturulabilir. Böylece uygulamanızı tasarımları haricinde özellikle event ve data yönetimlerini merkezileştirebiliriz. Uygulamalardaki farklı platformlar arası ortak kod miktarını ne kadar artırırsak, uygulamanın sürdürülebilirliği artacak ve uygulama geliştirme zamanınız kısalacaktır.

React Native’in atası olan ReactJS, ilk çıktığında geliştiricileri en çok korkutan syntax’ıydı. JSX syntax’ı template olarak yıllarca HTML kullanmış Front-end geliştiricileri korkutmuştu. Zamanla aslında ne kadar kolay olduğu görüldü. Bunun yanında, Android ve ya iOS uygulama geliştirmeye kıyasla React Native öğrenmek oldukça zamandan tasarruf etmenizi sağlar. Büyük bir community’si olması sebebiyle pek çok kaynak bularak bir an önce öğrenmeye başlayabilirsiniz.

ReactJS yazıma da göz atabilirsiniz.

About This Author

Süleyman Demirel Üniversitesi Bilgisayar Mühendisliği öğrencisiyim. Programlama, Web Teknolojileri ve Sosyal Medya ile ilgileniyorum. Bildiğim,öğrendiğim,gezip gördüğüm şeyleri buradan paylaşıyorum.

2 Comments

You can post comments in this post.

Post A Reply