Son yıllarda başlatılan girişimler bir mobil uygulama ya da mobil uyumlu bir web uygulaması ile desteklenmediği surece asla hedefine ulaşamazlar. Bir mobil uygulama geliştirmek kolay değildir. Ozellikle aynı mobil uygulamayı hem iOS hem de Android uyumlu hazırlamak buyuk bir zaman ve maddi kayıp anlamına geliyor. Flutter arac takımı tam bu noktada devreye giriyor ve geliştiricilerin işini kolaylaştırmayı hedefliyor.
Google tarafından geliştirilmiş olan Flutter arac takımı ile tek bir kod tabanı yazarak farklı işletim sistemi ve cihazlarla uyumlu bir mobil uygulama geliştirebilirsiniz. Ustelik oğrenmesi gorece zor programlama dilleri yerine Flutter ’ın kendi dilini kullanarak bu uygulamayı cok daha kolay bir şekilde yazmanız da mumkun. Gelin Flutter nedir, avantajları nelerdir, neler yapılabilir daha yakından gorelim.

[h=2]Flutter nedir?[/h] Google tarafından geliştirilen ve 2017 yılında yayınlanan Flutter, ucretsiz olarak kullanılan ve acık kaynak kodlu bir uygulama arayuzu arac takımıdır. Uygulamalarınızı yerelleştirebileceğiniz bir Yazılım Geliştirme Kiti ve uygulamayı ozelleştirebileceğiniz bir UI Kitaplığı ’ndan oluşur.
Flutter uzerinden bir uygulama geliştirmek icin JavaScript benzeri Dart isimli bir programlama dili kullanılıyor. 2011 yılında Google tarafından geliştirilmiş olan Dart, bir nesne programlama dili olarak tanımlanıyor. Bu dil ile Flutter uzerinden yazacağınız tek bir kod tabanı hem mobil hem web hem de masaustu uyumlu bir uygulama olacaktır.
[h=2]Flutter nasıl calışır?[/h]
Buradan indirerek hemen kullanmaya başlayabileceğiniz Flutter ’da işler biraz tersten yuruyor. Normalde en sonra tasarlanan arayuz, burada ilk tasarlanan alan oluyor. Ozellikle widget ’lar bu arayuz tasarımı konusunda oldukca etkili oğeler. Kullanıcının nasıl bir arayuzle karşılaşacağını secerek uygulama geliştirmeye başlıyorsunuz.
Ozel Flutter kutuphanesinde bulunan widget ’ları tek tek secerek sonunda butun bir arayuz oluşturuyorsunuz. Zaten Flutter ’ın da temel calışma prensibi budur. Adım adım hazırladığınız tum bu arayuz, Android ve iOS icin uyumlu olarak herhangi bir Java koprusu olmadan kaydedilir. Dart ’ın yanı sıra uygulamayı geliştirmek icin farklı yazılım paketleri de kullanabilirsiniz.
[h=2]Flutter kullanmanın avantajları:[/h]
Gercek zamanlı onizleme. Gelişmiş ve tutartlı performans gosteren Widget'lar. Minimum koda maksimum yanıt. 2020 yılında %303 oranında buyume sağladığı kaydedilen Flutter uzerinden uygulama geliştirmenin en buyuk avantajı, gercek zamanlı onizleme yakalamaktır. Uygulama uzerinde yaptığınız en ufak değişikliği bile sıcak yeniden yukleme sayesinde anlık olarak gorebiliyor ve bu sayede zamandan tasarruf ediyorsunuz.
Flutter uzerinden arayuz oluşturmanın temel taşları olan widget ’lar, Google tabanlı oldukları icin diğerlerine gore cok daha gelişmiş ve tutarlı bir performans gosterirler. Belirli bir kod cercevesinde kaliteli bir kullanım sunan bu widget ’ları ozelleştirebilirsiniz. Ozelleştirdikce kodun kalite kaybına uğramadığından emin olabilirsiniz.
Basit bir mobil uygulama geliştiriyor olsanız da diğer programlama dillerinde sayfalarca kod yazmanız gerekecektir. Dart programlama dili ile Flutter uzerinden bir kod tabanı oluşturduğunuz zaman ise minimum koda maksimum yanıtı alırsınız. Kodun az olması hem uygulamaların hızlı acılmasını hem de hızlı calışmasını sağlar.
[h=2]Flutter arayuzleri cok daha keyifli bir kullanıcı deneyimi sunuyor:[/h]
Google, eBay, BMW, Square, Alibaba, Capital One gibi onemli şirketlerin uygulama geliştirmek icin kullandığı Flutter ’da imzası bulunan isimlerden olan Google muhendisi Will Larche bu arac takımının en onemli amacının, geliştiricilerin kullanıcılar icin cok daha keyifli bir kullanıcı deneyimi sağlayacak arayuzler oluşturması, olduğunu soyluyor.
Flutter; Adobe, Chrome ve Amazon Kindle tarafından da kullanılan grafik motoru Skia ’yı kullanıyor. Skia, acık kaynak kodlu ve yuksek performans sunan bir grafik motoru. Bu motor uzerinden geliştirilen arayuzler Google tabanlı olduğu icin bilinen sorunlar ortaya cıkarmıyor ve hem iOS hem de Android işletim sistemlerinde aynı performansı sunuyor.
Flutter ile geliştirilen uygulamaların farklı işletim sistemlerinde aynı performansı sunması, geliştirici şirketin kurumsal kimliğine duyulan guveni arttırıyor. Ekranda gorduğunuz her şeyi değiştirebiliyor ve ozelleştirebiliyor olmanız, minimum caba ile maksimum performansı almanızı sağlıyor.
[h=2]Flutter kullanmanın dezavantajları:[/h]
Ucuncu taraf kutuphane eksikliği. Yuksek dosya boyutu. Tek bir yazılım dili. Flutter gorece yeni bir teknoloji olduğu icin hala bazı eksikliklerini olduğunu soylemek mumkun. Geliştiricilerin en cok şikayet ettiği konusu ise ucuncu taraf kutuphane eksikliği. Flutter tarafından sunulan widget ’ları ne kadar ozelleştirirseniz ozelleştirin, dahili olarak ucuncu taraf kutuphaneler sunulmadığı icin işler biraz yavaşlıyor.
Flutter ile hazırlanan uygulamalar mobil odaklıdır. Bu nedenle mobil cihazların sahip olduğunu sınırlı depolama alanı dikkate alınmalıdır. Ancak Flutter ile hazırlanan uygulamaların yuksek dosya boyutuna sahip olduğu goruldu. Java ile oluşturulan 500 KB ’lık basit bir uygulama Flutter ’da hazırlandığı zaman 4,7 MB ile 6,7 MB arasında bir dosya boyutuna sahip oluyor.
JavaScript ya da C programlama dillerinden birini biliyorsanız pek cok farklı yazılımı bu dillerde yazabilirsiniz. Flutter ise yeni bir dil oğrenmeniz gerektiğini soyler. Dart programlama dili pek cok acıdan diğer programlama dillerine gore cok daha kullanışlı olsa da tek bir aracta kullanıldığı icin oğrenme suresi sonunda harcadığınız zamana ne kadar değer pek bilinmiyor.
[h=2]Flutter kullanmalı mıyım?[/h]
Bazı olumsuz ozelliklerine rağmen bir uygulama geliştirirken mutlaka Flutter seceneğini de gozden gecirmelisiniz. Geliştirilen bir mobil uygulamanın hem iOS hem de Android icin uygun hale getirilirken harcanılan zaman ve parayı duşunduğumuz zaman Flutter gercek anlamda hayat kurtarıcı olacaktır.
Dart programlama dilini oğrendikten sonra Flutter ile uygulama geliştirmenin ne kadar kolay olduğunu kendiniz goreceksiniz. Widget ’ların ve hazırlanan arayuzun Google tabanlı olması, yuksek performans sunan grafik motoru Skia ’nın kullanılması, az kod ile cok verim almanız ve bu değişimleri gercek zamanlı olarak onizleyebiliyor olmanız Flutter ’ı one cıkaran ozelliklerden.
Tum işletim sistemleri ile uyumlu uygulamalar geliştirmenizi sağlayan Flutter nedir, nasıl calışır, avantajları nelerdir gibi merak edilen soruları yanıtladık. Eğer daha once Flutter kullanarak bir uygulama geliştirdiyseniz deneyiminizi yorumlarda paylaşabilirsiniz.