Flutter Nedir?
Flutter, Google tarafından oluşturulan bir mobil uygulama geliştirme platformudur. Geliştiricilerin Android ve iOS cihazlarda çalışan web, masaüstü ve platformlar arası uygulamalar oluşturmasına olanak tanır. Flutter, geliştirmeyi geleneksel yöntemlerden daha hızlı ve kolay hale getiren Dart adlı reaktif bir programlama dili kullanır.
Flutter, Google tarafından oluşturulan ve Mayıs 2017’de piyasaya sürülen ücretsiz ve açık kaynaklı bir mobil UI frameworkudur. Birkaç kelimeyle, yalnızca bir kod tabanı ile yerel bir mobil uygulama oluşturmanıza olanak tanır. Bu, iki farklı uygulama (iOS ve Android için) oluşturmak için bir programlama dili ve bir kod tabanı kullanabileceğiniz anlamına gelir.
Flutter iki önemli bölümden oluşur:
İçindekiler
• Bir SDK (Yazılım Geliştirme Kiti): Uygulamalarınızı geliştirmenize yardımcı olacak araçlardan oluşan bir koleksiyon. Buna, kodunuzu yerel makine kodunda (iOS ve Android için kod) derlemek için araçlar dahildir.
• Bir Çerçeve (widget’lere dayalı UI Kitaplığı): Kendi ihtiyaçlarınıza göre özelleştirebileceğiniz, yeniden kullanılabilir UI öğeleri (butonlar, metin girişleri, kaydırıcılar vb.) koleksiyonları.
Flutter ile geliştirme yapmak için Dart adlı bir programlama dili kullanacaksınız. Dil, Google tarafından Ekim 2011’de oluşturuldu, ancak son yıllarda çok gelişti.
Dart, front-end geliştirmeye odaklanır ve bunu mobil ve web uygulamaları oluşturmak için kullanabilirsiniz.
Biraz programlama biliyorsanız, Dart’ın yazılı bir nesne programlama dili olduğunu bilirsiniz. Dart’ın sözdizimini JavaScript ile karşılaştırabilirsiniz.
Flutter’ı neden öğrenmelisiniz?
Flutter’ı sevmemin ve gelecek yıl neden kullanmak istediğimin bazı nedenlerini seçtim. Size ayrıntıları ve geri bildirimimi aşağıda vereceğim.
Flutteri Kullanan Şirketler
Flutter’ın en önemli özelliklerinden bazıları şunlardır:
Dart programlama dili: Flutter, öğrenmesi kolay olan ve yüksek kaliteli uygulamalar geliştirmenizi sağlayan Dart programlama dilini kullanır.
Çalışırken yeniden yükle: Flutter’ın “çalışırken yeniden yükle” özelliği, uygulamanızı yeniden başlatmadan hızlı ve kolay bir şekilde uygulamanızda değişiklik yapmanızı sağlar.
Etkileyici ve esnek UI: Flutter’ın UI öğeleri, Google’ın Materyal Tasarım yönergeleriyle aynı ilkeler kullanılarak oluşturulmuştur ve size güzel uygulamalar oluşturmanız için etkileyici ve esnek bir yol sunar.
Yerel performans: Flutter uygulamaları, size hem iOS hem de Android’de mümkün olan en iyi performansı verecek şekilde yerel kodda derlenir.
Açık kaynak: Flutter açık kaynaklı bir projedir, bu da onu ücretsiz olarak kullanabileceğiniz ve platformun gelişimine katkıda bulunabileceğiniz anlamına gelir.
Flutter nasıl çalışır?
Flutter, iOS ve Android’de yüksek kaliteli yerel uygulamalar oluşturmanıza olanak tanıyan bir mobil uygulama SDK’sıdır. Ayrıca, Google’ın yeni Fuchsia işletim sistemi için platformlar arası uygulamalar geliştirmenin birincil yoludur.
Flutter framework’u, güzel, hızlı ve yanıt veren UI oluşturmanızı kolaylaştırır. Framework ayrıca genişletilebilir, böylece kolayca yeni özellikler ve işlevler ekleyebilirsiniz.
Bir Flutter uygulaması oluştururken, “widget” denen şeyle çalışıyor olacaksınız. Widget’lar, bir Flutter uygulamasının temel yapı taşlarıdır ve hem bir uygulamanın görsel bileşenlerini (düğmeler ve metin gibi) hem de işlevsel öğeleri (Stateless Widget’lar gibi) oluşturmak için kullanılırlar.
İki tür widget vardır: stateless widget’lar ve stataeful widget’lar. Adından da anlaşılacağı gibi, stataless widgetler, dahili durumu (veya kısaca “durumu”) olmayanlardır. Bunlar en basit pencere öğeleridir ve genellikle butonlar veya metin için kullanılır.
Öte yandan, stateful widget’ların dahili bir durumu vardır ve bu durum zaman içinde değiştirilebilir ve widget’ın nasıl göründüğüne ve davrandığına yansır. Stateful widget öğeleri genellikle kullanıcı giriş alanları veya animasyon denetleyicileri için kullanılır.
Dart programlama dilini kullanarak kolayca hem stateless hem de stateful widget’lar oluşturabilirsiniz. Geliştirme sürecine yardımcı olması için Dart Analyzer ve Flutter Inspector gibi çeşitli diğer geliştirme araçlarını da kullanabilirsiniz.
Flutter Artıları ve Eksileri
Flutter henüz geniş çapta benimsenmemiş olsa da, artan sayıda teknoloji şirketi onun potansiyelini fark etmeye başladı. Bazı dikkate değer Flutter uygulamaları arasında Alibaba’dan Google Ads, eBay Motors, Philips Hue ve Xianyu yer alır.
Flutter’ın sunduğu bazı avantajlara ve bazı dezavantajlara bakalım.
Flutter Uygulama Geliştirme Avantajları
• Flutter, hem iş adamları hem de geliştiriciler için çok çeşitli avantajlar sunar. Flutter, makul maliyetler için iyi kalitenin yanı sıra mükemmel kullanılabilirlik ve hız sunar.
• Hem iOS hem de Android uygulamaları için aynı kod kullanıldığında geliştirme daha hızlı gerçekleşir. Flutter’ın tekil kod tabanı, mobil uygulama geliştirme maliyetlerini önemli ölçüde azaltırken pazara sürüm süresini hızlandırır.
• Flutter uygulama performansı, yerel gerçek zamanlı uygulamalarınkine eşdeğerdir. Diğer frameworkların aksine, Flutter uygulamalarının yerel bileşenlerle etkileşim kurmak için bir köprüye ihtiyacı yoktur. Bu köprüler tipik olarak performans sorunlarına neden olduğundan, bu Flutter’a kesin bir avantaj sağlar.
• Flutter’ın “çalışırken yeniden yükleme” özelliği, geliştiricilerin emülatörlerde, simülatörlerde veya gerçek cihazlarda kodu değiştirmesine ve sonuçları gerçek zamanlı olarak görmesine olanak tanır. Değiştirilen kod, uygulama çalışırken hemen yeniden yüklenir. Yeniden başlatma gerekmez. Çalışırken yeniden yükleme, UI oluşturmayı, özellikler eklemeyi ve hata düzeltmeyi her zamankinden daha basit hale getirir.
Flutter uygulama geliştirme pek çok olumlu yön sunarken, çerçevenin daha az olumlu yönlerini de dikkate almak önemlidir:
• Flutter nispeten yenidir. Flutter birçok eklenti ve UI bileşeni sunarken, Xamarin ve React Native gibi frameworklar çok daha geniş bir seçim sunar. Flutter sonsuza kadar bloktaki yeni framework olmayacak olsa da, şu an durum bu.
• Dart çok popüler değil. Harika bir programlama dili olsa da, geliştiricilerin genellikle Java veya Kotlin gibi dilleri dikkate alma olasılığı daha yüksektir.
• Bazı bileşenler yalnızca iOS veya Android için kullanılabilir, ancak her ikisi birden kullanılamaz. Flutter Google’dan geldiğinden ve Android geliştiricileri genellikle Flutter ile iOS geliştiricilerinden daha fazla ilgilendiğinden, bu tür bileşenler Android’i daha sık destekler.
Kaynakça:
https://blog.devgenius.io/what-is-flutter-770bce32c65a
Yazar: Yakup Yiğit