Son yıllarda başlatılan girişimler bir mobil uygulama ya da mobil uyumlu bir web uygulaması ile desteklenmediği sürece asla hedefine ulaşamazlar. Bir mobil uygulama geliştirmek kolay değildir. Özellikle aynı mobil uygulamayı hem iOS hem de Android uyumlu hazırlamak büyük bir zaman ve maddi kayıp anlamına geliyor. Flutter araç takımı tam bu noktada devreye giriyor ve geliştiricilerin işini kolaylaştırmayı hedefliyor.
Google tarafından geliştirilmiş olan Flutter araç takımı ile tek bir kod tabanı yazarak farklı işletim sistemi ve cihazlarla uyumlu bir mobil uygulama geliştirebilirsiniz. Üstelik öğrenmesi görece zor programlama dilleri yerine Flutter’ın kendi dilini kullanarak bu uygulamayı çok daha kolay bir şekilde yazmanız da mümkün. Gelin Flutter nedir, avantajları nelerdir, neler yapılabilir daha yakından görelim.
Flutter nedir?
Google tarafından geliştirilen ve 2017 yılında yayınlanan Flutter, ücretsiz olarak kullanılan ve açık kaynak kodlu bir uygulama arayüzü araç takımıdır. Uygulamalarınızı yerelleştirebileceğiniz bir Yazılım Geliştirme Kiti ve uygulamayı özelleştirebileceğiniz bir UI Kitaplığı’ndan oluşur.
Flutter üzerinden bir uygulama geliştirmek için 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 üzerinden yazacağınız tek bir kod tabanı hem mobil hem web hem de masaüstü uyumlu bir uygulama olacaktır.
Flutter nasıl çalışır?
Buradan indirerek hemen kullanmaya başlayabileceğiniz Flutter’da işler biraz tersten yürüyor. Normalde en sonra tasarlanan arayüz, burada ilk tasarlanan alan oluyor. Özellikle widget’lar bu arayüz tasarımı konusunda oldukça etkili öğeler. Kullanıcının nasıl bir arayüzle karşılaşacağını seçerek uygulama geliştirmeye başlıyorsunuz.
Özel Flutter kütüphanesinde bulunan widget’ları tek tek seçerek sonunda bütün bir arayüz oluşturuyorsunuz. Zaten Flutter’ın da temel çalışma prensibi budur. Adım adım hazırladığınız tüm bu arayüz, Android ve iOS için uyumlu olarak herhangi bir Java köprüsü olmadan kaydedilir. Dart’ın yanı sıra uygulamayı geliştirmek için farklı yazılım paketleri de kullanabilirsiniz.
Flutter kullanmanın avantajları:
- Gerçek zamanlı önizleme.
- Gelişmiş ve tutartlı performans gösteren Widget’lar.
- Minimum koda maksimum yanıt.
2020 yılında %303 oranında büyüme sağladığı kaydedilen Flutter üzerinden uygulama geliştirmenin en büyük avantajı, gerçek zamanlı önizleme yakalamaktır. Uygulama üzerinde yaptığınız en ufak değişikliği bile sıcak yeniden yükleme sayesinde anlık olarak görebiliyor ve bu sayede zamandan tasarruf ediyorsunuz.
Flutter üzerinden arayüz oluşturmanın temel taşları olan widget’lar, Google tabanlı oldukları için diğerlerine göre çok daha gelişmiş ve tutarlı bir performans gösterirler. Belirli bir kod çerçevesinde kaliteli bir kullanım sunan bu widget’ları özelleştirebilirsiniz. Özelleştirdikçe 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 üzerinden 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ı açılmasını hem de hızlı çalışmasını sağlar.
Flutter arayüzleri çok daha keyifli bir kullanıcı deneyimi sunuyor:
Google, eBay, BMW, Square, Alibaba, Capital One gibi önemli şirketlerin uygulama geliştirmek için kullandığı Flutter’da imzası bulunan isimlerden olan Google mühendisi Will Larche bu araç takımının en önemli amacının, geliştiricilerin kullanıcılar için çok daha keyifli bir kullanıcı deneyimi sağlayacak arayüzler oluşturması, olduğunu söylüyor.
Flutter; Adobe, Chrome ve Amazon Kindle tarafından da kullanılan grafik motoru Skia’yı kullanıyor. Skia, açık kaynak kodlu ve yüksek performans sunan bir grafik motoru. Bu motor üzerinden geliştirilen arayüzler Google tabanlı olduğu için bilinen sorunlar ortaya çı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 güveni arttırıyor. Ekranda gördüğünüz her şeyi değiştirebiliyor ve özelleştirebiliyor olmanız, minimum çaba ile maksimum performansı almanızı sağlıyor.
Flutter kullanmanın dezavantajları:
- Üçüncü taraf kütüphane eksikliği.
- Yüksek dosya boyutu.
- Tek bir yazılım dili.
Flutter görece yeni bir teknoloji olduğu için hala bazı eksikliklerini olduğunu söylemek mümkün. Geliştiricilerin en çok şikayet ettiği konusu ise üçüncü taraf kütüphane eksikliği. Flutter tarafından sunulan widget’ları ne kadar özelleştirirseniz özelleştirin, dahili olarak üçüncü taraf kütüphaneler sunulmadığı için 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 yüksek dosya boyutuna sahip olduğu görüldü. 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 çok farklı yazılımı bu dillerde yazabilirsiniz. Flutter ise yeni bir dil öğrenmeniz gerektiğini söyler. Dart programlama dili pek çok açıdan diğer programlama dillerine göre çok daha kullanışlı olsa da tek bir araçta kullanıldığı için öğrenme süresi sonunda harcadığınız zamana ne kadar değer pek bilinmiyor.
Flutter kullanmalı mıyım?
Bazı olumsuz özelliklerine rağmen bir uygulama geliştirirken mutlaka Flutter seçeneğini de gözden geçirmelisiniz. Geliştirilen bir mobil uygulamanın hem iOS hem de Android için uygun hale getirilirken harcanılan zaman ve parayı düşündüğümüz zaman Flutter gerçek anlamda hayat kurtarıcı olacaktır.
Dart programlama dilini öğrendikten sonra Flutter ile uygulama geliştirmenin ne kadar kolay olduğunu kendiniz göreceksiniz. Widget’ların ve hazırlanan arayüzün Google tabanlı olması, yüksek performans sunan grafik motoru Skia’nın kullanılması, az kod ile çok verim almanız ve bu değişimleri gerçek zamanlı olarak önizleyebiliyor olmanız Flutter’ı öne çıkaran özelliklerden.
Tüm işletim sistemleri ile uyumlu uygulamalar geliştirmenizi sağlayan Flutter nedir, nasıl çalışır, avantajları nelerdir gibi merak edilen soruları yanıtladık. Eğer daha önce Flutter kullanarak bir uygulama geliştirdiyseniz deneyiminizi yorumlarda paylaşabilirsiniz.
Kaynak: Webtekno