Flutter VS React Native
Merhabalar :) Günümüzde Cross Native Platform olarak piyasada en yaygın olarak kullanılan Flutter ve React Native kıyaslayacağım.
Flutter ve React Native kıyaslamadan önce Flutter ve React Native hakkında kısaca bilgi vermek istiyorum.
React Native
React Native 2015 yılında Facebook şirketi tarafından geliştirilen cross native mobile platformdur.
NOT: Cross Native: Yazılan kodun Hem Android hem iOS işletim sistemlerinde çalışmasını sağlayan yapıdır.
React Native JavaScript veya TypeScript dili kullanarak geliştirilmektedir.
Flutter
Flutter 2017 yılında Google şirketi tarafından geliştirilen cross native mobile platformdur.
Flutter dart dili kullanarak geliştirilmektedir.
Flutter VS React Native
1-) React Native JavaScript ve TypeScript ile yazılırken Flutter Dart ile programlanmaktadır.
2- ) JavaScript’ in dünyadaki popülerliği ve kullanımının daha yaygın olması React Native’i daha avantajlı göstermektedir. Özellikle JavaScript geliştiricileri veya JavaScript bilen geliştiricilerin React Native’i öğrenmeleri oldukça kolaydır.
3-) Diğer bir yandan C++, C# veya Java gibi herhangi bir nesneye yönelik programlama dillini biliyorsanız, sizin için Dart dilini öğrenmek çok daha kolay olabilir.
4-) React Native render olurken JavaScript kodu ayrı bir katman desteği ile derleniyor bu aksiyonlarda yavaşlamaya sebep oluyor.
5-) Flutter da ise yerel makine koduna derlenmesi sayesinde daha hızlı derlenmektedir.(Bunu günümüzde sağlayan şu anlık tek SDK Flutterdır.)
6-) Flutter Google’ın bir ürünü olduğu için Google’ın diğer ürünler ile entegresi çok kolay ve hız olarakta React Native’den daha hızlı çalışmaktadır.(Firebase, Google Maps)
7-) Flutter 2 den sonra getirdiği güncelleme ile yazılan kodun Android ve iOS da çalışmasının yanı sıra Web ve Desktop uygulaması olarak da çalışmasına olanak sağlamıştır.
Flutter’ın Artıları
1 — Hot Reload
Flutter’ın farklı bir geliştirme yaklaşımına sahip olduğu aşikardır. Hızlı ve dinamik bir yazılım geliştirme imkanı sağlar. Yazılım geliştiriciler yaptıkları kod değişikliklerini uygulama üzerinde hemen görebilirler. Buda daha hızlı şekilde uygulama geliştirme imkanı sağlar.
2 — Bir Çok Platform İçin Tek Kod Tabanı
Flutter uygulaması geliştirmek diğerlerine göre daha kolaydır. Flutter geliştiricilere Android, IOS ve Web uygulamaları geliştirmek için tek bir platform sunar. Buda hem zaman hem de maddi kazanım sağlar.
3 — %50 Daha Az Test
Bir Flutter uygulamasını test etmek çok kolaydır. Flutter uygulama testini aynı anda iki farklı platform (IOS, Android) üzerinde koştuğundan %50 maliyeti azaltır.
4 — Daha Hızlı Build
Tek bir platform üzerinde yazılım geliştirme imkanı sunması nedeni ile hızlı bir build imkanı sağlar.
5 — Özelleştirilebilir Widgetlar
Flutter içerisinde çok sayıda hazır widget vardır. Eski cihazları desteklemek için güncelleme gerektirmez. Geliştiriciler bu widgetları kendilerine göre özelleştirebilir ve projeleri içerisinde kullanabilirler.
6 — MVP Desteği
Bir mobil uygulamanın en yalın halini oluşturabilmek iyi bir bakış açısıdır. Buda sadece gerekli olan özellikleri build ederek sağlanabilir. Flutter’ın MVP desteği sayesinde hızlı bir geliştirme imkanına erişebilirsiniz.
React Native’nin Artıları
1 — Hızlı Güncelleme
React Native, Live Reload ve Hot Reload özelliklerini beraber sunar. Bu özellik React Native’nin en öne çıkan özelliklerinden birisidir.
2 — Tek Geliştirme Ortamı, İki Farklı Platform
İki ana platforma uygulamanın tek bir ortamda geliştirilebilmesi hem zamandan hem de maliyetten tasarruf sağlar. React tek bir kere yazılan kodun IOS ve Android üzerinde çalışmasına imkan verir.
3 — JavaScript Desteği
JavaScript programlama dili geliştiriciler arasında en yaygın şekilde kullanılan dillerden birisidir.
4 — Olgun Bir Platform
React Native oturmuş, olgun bir sistemdir. React Native 5 yıllık bir maziye sahip, ve yıllar içerisinde ciddi şekilde geliştirildi. Buda geliştiricilerin sorunlarının büyük bir kısmının platform içerisinde çözülmüş olduğu anlamına geliyor.
5 — Geniş Topluluk
React Native’den geliştirici topluluğu oldukça büyüktür. Bu topluluk içerisinde uzmanlar devamlı yeni güncellemeleri paylaşıyorlar. Buda geliştiricilerin kolaylıkla teknolojiyi öğrenmesine yardımcı oluyor.
6 — Kolay Öğrenilebilir
React Native öğrenmesi kolaydır. Geliştiriciler aynı kütüphaneleri, desenleri ve araçları kullanabilirler. Geliştiriciler internetteki kaynakları tarayarak kolay şekilde teknolojiyi öğrenebilirler.
7 — Daha Az Test
Her uygulama test süreci gerektirir. Test uygulamanın istenen platformda uygun şekilde çalışıp, çalışmadığının kontrolü için gereklidir. React Native ortamında yapacağınız test uygulamanızı hem Android hem de IOS ortamında test etmenizi sağlar. Buda verimliliğinizi artırır.
Comminty
- React Native Facebook tarafından desteklenen ve sürekli daha iyi hale getirilmektedir ve 2015 yılından bu yana popüler hale gelmiştir.
- Flutter ise Google tarafından desteklenen codebase kullanılarak mobil uygulama oluşturmak için Google’ın açık kaynak kodlu SDK sıdır. 2017 yılında sunulmasına rağmen çok kısa sürede popülerleşmiştir.
GELİŞTİRİLEN UYGULAMALAR
Facebook, Instagram, Uber Eats, Tesla, Bloomberg, AirBnB ve daha pek çok ürün mobil uygulamaları için React Native kullanmaktadır.
Alibaba, BMW, Tencent,Hamilton müzik ve daha bir çok ürün mobil uygulamaları için Flutter Kullanmaktadır.
SONUÇ
Şu anda iki platformda görüldüğü üzere Cross Native Platfrom olarak piyasayı domine etmektedir. İkisinin de bir birine göre avantajları ve dezavantajları bulunmaktadır.
Günümüzde özellikle ülkemizde React Native daha çok tercih edilmektedir. Bu yüzden React Native bilenlerin iş bulma olasılıkları daha yüksek.
Zaman ayırarak yazımı okuduğunuz için teşekkür ederim.
Herkese iyi çalışmalar … :)