2020’li yıllarda olduğumuz şu günlerde mobil uygulama geliştirmenin önemi son derece fazladır. Android ve IOS işletim sistemleri; mobil uygulama denildiği zaman akla ilk olarak gelen platformlardır. Ayrıca, Google tarafından 2017 yılında duyurulan ve kullanımı her geçen gün artan Flutter teknolojisi de öne çıkar.
Flutter Nedir?
Flutter; 2017 yılının Mayıs ayında Google tarafından duyurulmuştur. Ücretsiz ve açık kaynaklı olmasının yanı sıra mobil, web ve masaüstü uygulamaları geliştirmek adına kullanılabilecek bir mobil UI frameworktür. Flutter; çapraz platform olmasından dolayı birtakım avantajlar içerir. Hem IOS hem de Android tabanlı mobil uygulamalar geliştirmeyi mümkün kılar.
Flutter; iki ana parçadan ibarettir. SDK olarak bilinen yazılım geliştirme kiti; mobil uygulamaların daha hızlı ve kolay bir şekilde geliştirilmesini sağlar. Mobil uygulama geliştirdiğiniz sırada SDK yazmış olduğunuz kodu; hem IOS hem de Android platformu için kullanmanızı mümkün kılar. Framework ise yazılım geliştirirken kullanılan çok sayıdaki UI bileşenini kullanıma sunmaktadır. Bu bileşenler arasında buttonlar, text inputlar yer alır. Buna ek olarak, bu tür bileşenlerin projeye göre özelleştirilmesini de mümkün kılar.
Yazılım geliştirmek adına Flutter tercih edilebilir. Ancak, bu esnada, Dart adı verilen programlama dili kullanılmalıdır. 2011 yılının Ekim ayında Google tarafından oluşturulan Dart dili; günümüze kadar olan süreçte kendisini devamlı olarak geliştirmektedir. Flutter teknolojisinin en büyük rakibi ise Facebook tarafından geliştirilen React Native teknolojisidir. Her ikisinin de kendine has avantaj ve dezavantajları olduğunu ifade etmeliyiz.
React Native Nedir?
React Native; 2013 yılının yaz ayında Facebook tarafından düzenlenen hackathon ile temelleri atılan bir framework olarak bilinir. Bu tarihin ardından iki yıl boyunca özel bir ekip tarafından prototipleri ve versiyonları ortaya çıkarılmıştır. Bu sayede, React Native ilk sürümleri geliştirilmiştir. Bu framework ile ilgili olarak ilk duyurular ise 2015 yılının Ocak ayında yapılmıştır. Yine 2015 yılının Mart ayında F8 etkinliğinde GitHub üzerinden React Native piyasaya sürülmüştür.
React Native; JavaScript kullanan tıpkı Flutter gibi açık kaynaklı olan bir mobil uygulama platformudur. Bu platform sayesinde hem IOS hem de Android için uygulamalar geliştirmek mümkündür.
Flutter Avantajları Nelerdir?
Flutter; Alibaba Group, Google Ads, Groupon, Emaar, Ebay gibi markalar tarafından kullanılır. Bunun yanı sıra, Flutter avantajları aşağıdaki gibidir;
- Her şeyden önce, hızlı ve dinamik bir yazılım geliştirme imkanı sunar. Ayrıca, yapılan kod değişiklikleri uygulama üzerinde en kısa sürede görülebilir. Bu sayede, uygulama geliştirme işlemleri en kısa sürede yapılır.
- Diğerlerine kıyasla Flutter uygulaması geliştirmek daha kolaydır. Android, IOS ve Web uygulamaları geliştirmek için tek bir platform vaat etmesi; Flutter’ın avantajları arasında bulunur.
- Flutter uygulamasının test edilmesi daha kolaydır. Hem IOS hem de Android platformu için aynı anda test yapılmasından dolayı maliyetler yarı yarıya azalacaktır.
- Yalnızca tek bir platform üzerinde yazılım geliştirme imkanı sunmasından dolayı çok daha hızlıca build imkanı sağlayarak farkını ortaya koyar.
Flutter Dezavantajları Nelerdir?
Tabii ki Flutter’ın bir çok avantajının yanında bir çok dezavantajı da mevcuttur. Flutter dezavantajları;
- Çoklu kütüphane kullanımı mümkün olsa da her kütüphane için aynı özellikler sunulmaz.
- Yazılımcılara yazılım geliştirme sürecinde destek sağlanması noktasında zayıf kalır.
- Google’a bağlı olarak çalışan bir platformdur. Bu noktada, Google olmadığı takdirde varlığı risk altına girer.
- Flutter uygulamaları; boyut olarak akıllı telefonlarda çok daha fazla yer kaplar.
React Native Avantajları Nelerdir?
React Native; Facebook, Instagram, Walmart ve Bloomberg gibi dünyaca ünlü şirketler tarafından kullanılır. React Native avantajları şu şekildedir;
- Hızlı güncelleme imkanı bulunur.
- İki farklı platform için oluşturulan uygulamanın tek bir geliştirme ortamında geliştirilmesi gibi bir avantaja sahiptir.
- Flutter’dan farklı olarak JavaScript desteğine sahiptir.
- Flutter; 2017 yılına ait iken kendisi 2013 yılına aittir. Bu yüzden, daha oturmuş bir platformdur.
- Daha az test içermesi ve öğrenilmesinin kolay olması ciddi avantajları arasında bulunur.
React Native Dezavantajları Nelerdir?
React Native’in Flutter ve diğer cross platform dillere göre çeşitli dezavantajları da bulunmaktadır. Kısaca özetleyecek olursak React Native dezavantajları;
- Performans ve donanım konusunda yüzde yüz bir hakimiyet söz konusu değildir. Tamamen native olmamasından kaynaklanır.
- Yalnızca temel bileşenler bulunur. Flutter’a kıyasla daha az bileşen içerir.
- Daha hassas bir kullanıcı arayüzü bulunur.
Sonuç olarak, her ikisinin de GitHub popüleritesi açısından benzer olduğunu söylemeliyiz. Bir başka deyişle, her ikisi de başarılıdır. Biri diğerinden daha iyi demek pek de mümkün değildir. Dillere olan aşinalık ve örnek alabileceğiniz uygulamaları keşfetmek bu konuda size yol gösterecektir.