Son yıllarda başlatılan teşebbüsler bir taşınabilir uygulama ya da taşınabilir uyumlu bir web uygulaması ile desteklenmediği sürece asla gayesine ulaşamazlar. Bir taşınabilir uygulama geliştirmek kolay değildir. Bilhassa birebir taşınabilir uygulamayı hem iOS hem de Android uyumlu hazırlamak büyük bir vakit ve maddi kayıp manasına geliyor. Flutter araç grubu tam bu noktada devreye giriyor ve geliştiricilerin işini kolaylaştırmayı hedefliyor.
Google tarafından geliştirilmiş olan Flutter araç kadrosu ile tek bir kod tabanı yazarak farklı işletim sistemi ve aygıtlarla uyumlu bir taşınabilir uygulama geliştirebilirsiniz. Üstelik öğrenmesi görece güç programlama lisanları yerine Flutter’ın kendi lisanını kullanarak bu uygulamayı çok daha kolay bir biçimde 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ç kadrosudur. 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 gibisi Dart isimli bir programlama lisanı kullanılıyor. 2011 yılında Google tarafından geliştirilmiş olan Dart, bir obje programlama lisanı olarak tanımlanıyor. Bu lisan ile Flutter üzerinden yazacağınız tek bir kod tabanı hem taşınabilir hem web hem de masaüstü uyumlu bir uygulama olacaktır.
Flutter nasıl çalışır?
Buradan indirerek çabucak kullanmaya başlayabileceğiniz Flutter’da işler biraz tersten yürüyor. Olağanda en sonra tasarlanan arayüz, burada birinci tasarlanan alan oluyor. Özellikle widget’lar bu arayüz tasarımı konusunda epey tesirli öğ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. Esasen 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 rastgele 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 vakitli önizleme.
- Gelişmiş ve tutartlı performans gösteren Widget’lar.
- Minimum koda azamî cevap.
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 vakitli önizleme yakalamaktır. Uygulama üzerinde yaptığınız en ufak değişikliği bile sıcak yine yükleme sayesinde anlık olarak görebiliyor ve bu sayede vakitten tasarruf ediyorsunuz.
Flutter üzerinden arayüz oluşturmanın temel taşları olan widget’lar, Google tabanlı oldukları için başkalarına nazaran çok daha gelişmiş ve dengeli 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 taşınabilir uygulama geliştiriyor olsanız da öbür programlama lisanlarında sayfalarca kod yazmanız gerekecektir. Dart programlama lisanı ile Flutter üzerinden bir kod tabanı oluşturduğunuz vakit ise minimum koda azamî karşılığı alırsınız. Kodun az olması hem uygulamaların süratli açılmasını hem de süratli çalışmasını sağlar.
Flutter arayüzleri çok daha keyifli bir kullanıcı tecrübesi sunuyor:
Google, eBay, BMW, Square, Alibaba, Capital One üzere değerli şirketlerin uygulama geliştirmek için kullandığı Flutter’da imzası bulunan isimlerden olan Google mühendisi Will Larche bu araç ekibinin en değerli gayesinin, geliştiricilerin kullanıcılar için çok daha keyifli bir kullanıcı tecrübesi 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 problemler ortaya çıkarmıyor ve hem iOS hem de Android işletim sistemlerinde tıpkı performansı sunuyor.
Flutter ile geliştirilen uygulamaların farklı işletim sistemlerinde tıpkı performansı sunması, geliştirici şirketin kurumsal kimliğine duyulan inancı arttırıyor. Ekranda gördüğünüz her şeyi değiştirebiliyor ve özelleştirebiliyor olmanız, en az gayret ile azamî performansı almanızı sağlıyor.
Flutter kullanmanın dezavantajları:
- Üçüncü taraf kütüphane eksikliği.
- Yüksek belge boyutu.
- Tek bir yazılım lisanı.
Flutter görece yeni bir teknoloji olduğu için hala kimi 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 taşınabilir odaklıdır. Bu nedenle taşınabilir aygıtların sahip olduğunu hudutlu depolama alanı dikkate alınmalıdır. Lakin Flutter ile hazırlanan uygulamaların yüksek evrak boyutuna sahip olduğu görüldü. Java ile oluşturulan 500 KB’lık kolay bir uygulama Flutter’da hazırlandığı vakit 4,7 MB ile 6,7 MB ortasında bir evrak boyutuna sahip oluyor.
JavaScript ya da C programlama lisanlarından birini biliyorsanız pek çok farklı yazılımı bu lisanlarda yazabilirsiniz. Flutter ise yeni bir lisan öğrenmeniz gerektiğini söyler. Dart programlama lisanı pek çok açıdan öbür programlama lisanlarına nazaran çok daha kullanışlı olsa da tek bir araçta kullanıldığı için öğrenme mühleti sonunda harcadığınız vakte ne kadar bedel pek bilinmiyor.
Flutter kullanmalı mıyım?
Bazı olumsuz özelliklerine karşın bir uygulama geliştirirken mutlaka Flutter seçeneğini de gözden geçirmelisiniz. Geliştirilen bir taşınabilir uygulamanın hem iOS hem de Android için uygun hale getirilirken harcanılan vakit ve parayı düşündüğümüz vakit Flutter gerçek manada hayat kurtarıcı olacaktır.
Dart programlama lisanını öğ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 randıman almanız ve bu değişimleri gerçek vakitli 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. Şayet daha evvel Flutter kullanarak bir uygulama geliştirdiyseniz tecrübenizi yorumlarda paylaşabilirsiniz.