Flutter; Google tarafınca oluşturulmuş olan ve 2017 senesinin Mayıs ayında yayına çıkan hem ücretsiz hem de açık kaynaklı web, mobil ve masaüstü uygulamaların geliştirilmesi için kullanılabilen bir mobil UI frameworktür. Çapraz bir platform olan Flutter, aynı altyapıyı kullanıp hem Android hem de iOS tabanlı uygulamaları geliştirmede kullanılır.
Flutter Nedir?
Flutter iki ana parçadan meydana gelmektedir. Birincisi yazılım geliştirme kiti olan SDK diğeri de birçok UI ve kütüphane anlamına gelen framework.
SDK (Yazılım Geliştirme Kiti): Uygulamaları daha kolay geliştirebilmek adına pek çok aracı hizmete sunar. SDK, yazılan kodu hem Android hem de iOS için derleyebilmeyi sağlamaktadır.
Framework (Pek Çok UI ve Kütüphane): Yazılım geliştirme aşamasında kullanılan pek çok UI bileşenini (text inputlar, buttonlar ve benzerleri) hizmete sunar. Bu bileşenler projelere göre özelleştirilebilir. Flutter’la yazılım geliştirmesi yapmak iççin Dart adındaki bir programlama dili de kullanılır. Söz konusu dil, Google tarafından 2011 senesinin Ekim ayında oluşturulmuştur ve her geçen yıl kendisini geliştirerek yoluna devam etmektedir. Flutter’ın en büyük rakibi olan Facebook’un geliştirmiş olduğu React Native teknolojisinin kendisidir.
Dart Nedir?
Dart yazılım dili, ilk kez Google tarafından geliştirilmiş olan ve daha sonradan da Ecma tarafından standart bir hâle getirilmiş açık kaynaklı bir programlama dilidir. Google’ın desteklediği Flutter SDK işe Dart dili kullanılarak artık hem Android hem de iOS uygulamalar geliştirmek mümkündür. Mobil uygulamalar dışında Dart yazılım dili ile beraber web, IoT cihazlar için uygulamalar ve sunucu geliştirilebilir. Dart programlama dili sınıf tabanlıdır. Tek kalıtıma sahiptir, kısacası nesne tabanlı olan C programlama dilindeki kod dizilimine benzer. JavaScript dilinde veya çalıştığı sistem içindeki native diline çevrilebilir. Abstracts, ınterfaceler, generic type ve de opsiyonel tipleri desteklemektedir.
Dart’ı Özel Kılan Nedir?
Pek çok dilden farklı olarak Dart programlama dili, geliştirme sürecini geliştiriciler adına olabildiğince hızlı ve rahat bir hâle getirmek amacı ile tasarlanmıştır. Bu sebeple de kendi paket yöneticisi, türlü aktarıcılar – derleyiciler, ayrıştırıcı ve de biçimlendirici gibi fazlasıyla kapsamlı olan yerleşik araçlar ile beraber gelir. Tüm bunlarla birlikte Dart programlama dili, sanal makinesi ve tam zamanında derleme ile kod değişikliklerini hızlı yürütülebilir bir hâle getirmektedir. Kod, üretime girdiği zamandan sonra yerel bir dilde derlenebilir. Bu sebeple de çalıştırmak için illâ özel bir ortam gerekmiyor. Web geliştirme durumunda da Dart, JavaScript’e aktarılır.
Niçin Flutter Öğrenmek Gerekir?
Flutter öğrenmek için pek çok neden vardır. Bunları teker teker ele alalım.
Kolay Öğrenilebilir Olması: Flutter, modern olan bir frameworktür. Mobil uygulamaları Flutter ile birlikte geliştirmek çok kolaydır. Eğer öncesinde Java, React Native ya da Swift kullanıldıysa Flutter’ın ne denli farklı olduğu hemen anlaşılır.
Üretkenliği Artırır Olması: Hot – Reload özelliği ile kod üzerinde yapılan değişiklikleri aynı zamanda uygulama üzerinde görmek mümkündür. Bu özellik ile yazılım geliştirme süreci ciddi ölçüde hızlanır ve de üretkenliği artırır.
Girişimciler İçin İdeal Olması: Eğer bir fikir hızlıca yatırımcılara gönderilmek isteniyorsa Flutter, oldukça doğru bir teknolojidir. Çünkü Android ve iOS için ayriyeten yazılım geliştirme eforu gerektirmez. Dolayısıyla maliyet avantajı sunar. Bir yazılım geliştiricisinin ihtiyaç duyabileceği her şeye sahiptir. Native uygulamaya yakın uygulamalar geliştirmek mümkündür. Tüm bunlarla birlikte Flutter, pek çok aracı kullanıma sunar. Bu araçlar özelleştirilerek güzel uygulamalar geliştirilebilir.
İyi Dokümantasyon Sunması: Flutter’ın eğitim dokümanlarından pek çok şey öğrenilebilir. Temel kullanım durumları için kaliteli ve kolay örneklerle ayrıntılı şekilde işlenmiştir.
Büyüyen Bir Topluluğa Sahip Olması: Flutter kullanan kişilerin fazla olması, bir sorun ile karşılaşıldığında kolayca yardım alınabileceği anlamına geliyor.