Flutter Nedir ve Ne İşe Yarar?
Bu yazımızda Flutter nedir ve ne işe yarar sorularından yolar çıkarak bir bilgilendirme yazısı oluşturduk.
Flutter Nedir?
Flutter nedir sorusuna kısaca, Android ve İOS gibi platformlar için tek bir platform aracılığıyla mobil uygulama geliştirilmesini sağlayan bir SDK denilebilir.
Sanıldığımı aksine Flutter, C, Java, JavaScript vb. gibi bir programlama dili değildir. Bilakis geliştiricilerin tek bir kod tabanında Web, Masaüstü, Android ve iOS cihazları için yerel (Native) uygulamalar oluşturmasına olanak tanıyan açık kaynaklı bir mobil SDK/UI çerçevesidir (Framework).
Bizzat Google tarafından geliştirilen ve ilk olarak 2017 yılında yayınlanan Flutter’da uygulama geliştirebilmek için benzer şekilde Google tarafından geliştirilen Dart adında nesne tabanlı bir programlama dilinden yararlanılır.
C dilini anımsatan yapısıyla ilk sürümü tarihler 14 Kasım 2013’ü gösterildiğinde yayınlanmıştır. Daha kararlı bir yapı olan sürüm 2.0’ı ise Ağustos 2018’de yayınlanmıştır.
Her ne kadar açık kaynak kodlu bir programlama dili olsa da Google tarafından desteklenmeye devam edilmektedir. Böylece bizzat Google tarafında sürekli iyileştirmelere yapılan yatırımla çerçevenin toplulukta başarılı olmak için ihtiyaç duyduğu tüm araçlara erişebilmesi kolaylaşmaktadır.
Flutter ile birbirlerine bağımlı ikili olmadan önce Dart başlangıç olarak JavaScript’in yerine geçmesi için tasarlanmıştı. Buna karşılık Dart’ın geliştiriciler tarafından kullanımı ise oldukça düşük kalmıştı.
Nihayetinde Flutter’ın ortaya çıkışı ve Dart’a olan bağımlılığı nedeniyle Dart programlama dilinin kullanımında da haliyle büyük bir artış görüldü.
Peki Flutter için neden Dart kullanılıyor, neden bilindik bir programlama dili varken Dart kullanıldı diye sorabilirsiniz.
Dart, okunması ve görselleştirilmesi kolay, bildirimsel ve programlanabilir bir düzene sahiptir. Bu nedenle, Flutter için XML gibi ayrı bir bildirimsel düzen dili gerektirmez. Tüm düzen tek bir dilde ve merkezi bir yerde olduğundan, Flutter’ın gelişmiş araçlar sağlaması kolaydır.
İkilinin popüler olmasının bir diğer önemli nedeni ise Dart’ın gerektiğinde Just In Time derlemesini kullanması. Bu, geliştirme süresini önemli ölçüde azaltır ve daha hızlı yanıt vermesini sağlar.
Aslında başlangıcından bu yana Flutter’ın ana hedeflerinden biri, mevcut çapraz platform çerçevelerine yüksek performanslı bir alternatif olmak niyetindeydi.
Ayrıca mobil geliştiricinin deneyimini önemli ölçüde iyileştirmek, projenin can alıcı noktalarından biriydi. Zira yalnızca tek bir kod tabanı kullanmasına karşın doğrudan iOS veya Android için oluşturulan uygulamalarda performans, kullanılabilirlik ve özellikler açısından eşdeğer uygulamalar oluşturmak için özelleşmiştir.
2018’in sonundaki Flutter Live Event etkinliği sırasında ilk kararlı sürümün piyasaya sürülmesinden itibaren, Flutter’ın büyümesi açık bir şekilde gözlenebilmektedir:
- 200 milyondan fazla Flutter uygulaması kullanıcısı
- Play Store’da 50.000’den fazla Flutter uygulaması
- Yaklaşık 500.000 geliştirici
- GitHub’daki en popüler 18. yazılım deposu
Flutter’ın henüz çok yeni bir uygulama geliştirme kiti olmasına karşın 2020 yılında % 303 gibi bir büyüme oranı kaydedilmiştir. Her ne kadar mobil uygulama geliştirme pazarında önemli bir yere sahip olmasa da önümüzdeki birkaç yıl için oldukça olumlu bir görünüm çizdiğini de söyleyebiliriz.
Kaldı ki Google’ın mobil cihazlar için bir sonraki işletim sistemi olması beklenen Fuchsia ile tüm uygulamaların Flutter ve Dart aracılığıyla geliştirilmesi beklenmektedir.
Zira Google’ın, gelecekte Android işletim sisteminin yerini alacağı söylenen Fuchsia OS adlı yeni bir işletim sistemi üzerinde çalıştığı artık bir sır değil.
Dikkat edilmesi gereken bir diğer nokta ise, Fuchsia OS’nin sadece mobilde çalışan değil evrensel bir Google işletim sistemi olabileceği ve bu durumun Flutter’ın benimsenmesini doğrudan etkileyeceğidir.
Dahası Google, Android uygulamalarının yeni işletim sistemi ile uyumlu olacağını ve Flutter’a geçişi ve Flutter’ın benimsenmesini önemli ölçüde kolaylaştıracağını duyurdu.
Flutter, her ne kadar Android işletim sisteminin sahibi Google tarafından geliştirilmiş olsa da iOS’u tam olarak destekler. Yani bu sayede iOS emilatörünü çalıştırabileceğiniz ve Android Studio’da iOS için derleme yapabilmeyi mümkün hale getirmektedir.
Ancak belirtmek gerekir ki, iOS emilatörü ve derlemesi hala Xcode aracılığıyla yapıldığından, Linux veya Windows üzerinde iOS uygulamaları oluşturamazsınız. Bu yüzden 3. parti yazılımları ya da bir Mac kullanmanız gerekmektedir.