Flutter Nedir?
2017 Mayıs içerisinde, Google tarafından açık kaynak kodlu olarak mobil uyulama geliştirmek için kullanılan bir yazılım geliştirme kitidir (SDK).
Cross-platform yani tek bir kod ile birbirinden farklı platform ve mobil cihazlara yönelik uygulama geliştirmeye olanak sağlar.
Flutter ile uygulamalar oluştururken her şey Widget’lara, yani flutter uygulamalarının oluşturulduğu bloklara yöneliktir.
İçinde Java söz dizilimine çok yakın Dart programlama dilini kullanır.
Cross Platform Uygulama Geliştirme Nedir?
Türkçeye çapraz platform veya çok ortam destekli olarak çevrilen bu kavram, farklı platformlar için ayrı ayrı geliştirme yapmadan tek bir kod yazılımı ile uygulama geliştirme olarak kullanılmaktadır. Ionic, Xamarin, React Native gibi farklı framework’ler bu amaç için kullanılabilir.
Flutter Tercih Etmeniz İçin Sebepler
- Öğrenmesi oldukça kolaydır.
- Geniş paket desteği mevcttur. (pub.dev adresinde göreceğiniz üzere yüzlerce paket mevcut.)
- Resmi dokümantasyonu ve komünitesi ile geniş bir bilgi kaynak var.
- Bir kere kodlama yaparak hem farklı platformlar için performans kaybı yaşamadan çıktı üretilebilir. (Cross-platform)
- Arkasında Google olduğu için kullanıcı deneyimini belli bir standartta tutmak kolaydır.
- Her şey bir widget olduğu için kontrol etme ve görselleştirme işlemleri çok rahattır. Öğrenmesi ve kullanımı kolaydır.
- Widget’ların birlikte oluşturulması sürecine kompozisyon denir. Uygulamanın Kullanıcı Arayüzü, belirli bir işi gerçekleştiren çok sayıda basit widget’tan oluşur. Flutter geliştiricilerinin flutter uygulamalarını bir widget ağacı olarak düşünmelerinin nedeni budur.
- Yüksek seviyeli bir dil olduğu için donanımdan bağımsızdır.
- Performans kaybı neredeyse yoktur. (Flutter Skia grafik motorunu kullanarak arayüz derleme işlemini yapar. Native bir uygulamanın arayüz çizimine eş bir performans sağlar.)
- Cihaz bileşenlerine erişim mümkündür. (JavaScript temelli diğer cross-platform framework’lerindeki gibi API çağrısı yapmaz.)
- Endüstrinin ihtiyaçlarına hızlıca uyum sağlayabilecek formdadır. (Widget havuzu her geçen gün hızlı artmaktadır.)
- Flutter kendi içerisinde bir uygulama yaşam döngüsü yönetimi sunmaktadır.
- Web temelli çözümlerde bu özellik ek bileşen olarak bulunmaktadır. (Web programlama kendi doğası gereği stateless (durumsuz) çalışmaktadır.)
- Hızlı sonuçlanma özelliği. Flutter’la uygulama geliştirirken yaptığımız değişikleri, Stateful Hot Reload özelliği ile anlık olarak görebilirsiniz. Uygulamayı yeniden başlatmanıza gerek kalmaz.
- Flutter’ın katmanlı mimarisi. Etkileyici ve güzel kullanıcı arayüzleri ile daha hızlı ve güzel uygulamalar yapılabilirsiniz.
Dart Programlama Dili
Flutter framework’ünde kullanılan programlama dilidir. Diğer dillere benzerliği ve yakınlığı ile dikkat çeker.