Flutter nedir, nasıl çalışıyor?

Flutter, Native Android ve iOS uygulamalarını tek kod tabanıyla oluşturmak için geliştirilmiş açık kaynaklı bir mobil SDK'dır. Flutter'da uygulamalar geliştirebilmek için Dart dili kullanılır. Google’ın tanıttığı ve Aralık 2018’deki resmi lansmanından önce beta aşamasında kaldığı 2015’ten bu yana sürekli geliştiriliyor. Arkasında Google desteğinin bulunması Flutter'ı güçlü kılan etkenler arasında. Flutter’ın diğer cross-platofrm geliştirme araçlarından(React Native, NativeScript, Ionic Cordova vb.) farkı ise Flutter’ın tek başına yüksek performans sunan render motoruna sahip olmasıdır.

Google, Dart dilini JavaScript'i yetersiz bulduğu için geliştirmeye başlamıştır, JavaScript gibi büyük bir rakip karşısında ne olur onu şimdiden tahmin etmek zor ancak tek kod bilgisi ile Flutter kullanarak Web arayüzleri geliştirebilmek (HTML ve CSS vb. olmadan), Android ve IOS uygulamalar yapabilmenin yanı sıra Back-end tarafında da kullanılabildiği için geliştiricileri kendine çekmesi muhtemel.

Flutter nasıl çalışıyor?

Flutter'ın ardındaki temel fikir, widget kullanımıdır. Geliştiricilerin tüm kullanıcı arayüzünü oluşturabilecekleri farklı araçları birleştirerek. Bu widget'lerin her biri bir yapı elemanı (bir buton veya menü gibi), bir stilistik öğe (bir font veya renk düzeni), bir düzen yönü (padding gibi) ve diğerlerini tanımlar.

Flutter’in OEM widget’larını kullanmadığını, ancak native Android veya iOS görünümüne sahip (Material veya Cupertino) hazır widget'lara sahip sağlayıcılar olduğunu unutmayın. Doğal olarak, geliştiriciler de kendi widgetlarını oluşturabilirler.

Flutter ayrıca geliştiricilere reaktif stil görünümleri sunar. JavaScript köprüsü görevi görmek için derlenmiş bir programlama dili kullanmaktan kaynaklanan performans sorunlarını önlemek için Dart dilini kullanır. Dart Flutter'i çoklu platformlar için native olarak derleme yapar.

Bu şekilde, Flutter, diğer cross-paltfrom geliştirme araçları gibi JavaScript köprüsüne ihtiyaç duymadan cihazla kolayca iletişim kurabilir. Tahmin edebileceğiniz gibi, yerel koda derlemek, uygulama başlatma süresini de hızlandrırı.

Şu anda, Flutter bir JavaScript köprüsüne ihtiyaç duymadan reaktif görünümler sunan tek mobil SDK'dır. Bu yüzden pek çok mobil geliştirici Flutter'ı projelerinde kullanmaya başladı.

 

Flutter'ın Faydaları

Size zaman ve para kazandırır

Flutter bir cross-latform geliştirme aracıdır. Bu, yazılım geliştiricilerin bir iOS ve Android uygulaması oluşturmak için aynı kod tabanını kullanabileceği anlamına gelir. Cross-platform geliştirme, geliştirme süreci boyunca zamandan ve kaynaklardan tasarruf etmek için en iyi yöntemdir.

Mükemmel performans

Flutter iki nedenden dolayı olağanüstü performans sunar. Birincisi, yerel kodda derlenen Dart kullanır. İkincisi, Flutter'ın kendi widgetları vardır, bu yüzden OEM'lere erişmeye gerek yoktur. Sonuç olarak, uygulama ile platform arasında daha az iletişim var. Flutter'ın bu iki özelliği hızlı uygulama başlatma süreleri ve genel olarak daha az performans sorunu sağlar.

Hot reload özelliği sayesinde hızlı geliştirme süreci

Flutter, hot reload nedeniyle mobil geliştiricileri kendine çekiyor. Hot reload, emülatörlerde, simülatörlerde ve cihazlarda koda uygulanan değişiklikleri anında görüntülemenizi sağlar. Değiştirilen kod bir saniyeden daha kısa sürede yeniden yüklenir. Bu süre zarfında, uygulama çalışıyor ve geliştiricilerin yeniden derleme yapmak için zaman kaybetmeleri gerekmiyor.
Bu, kullanıcı arayüzleri oluşturmayı, yeni özellikler eklemeyi ve hataları düzeltmeyi kolaylaştırır. Bir uygulama bir hatayla karşılaşırsa, genellikle düzeltmek ve daha sonra hiç olmamış gibi uygulamayı kullanmaya devam etmek mümkündür.

Uygunluk

Flutter'ın bir başka avantajı da, daha az uyumluluk sorunuyla sonuçlanan kendi widget'larıyla gelmesidir. Geliştiriciler, farklı işletim sistemi sürümlerinde daha az sorun görür ve uygulamayı eski işletim sistemi sürümlerinde test etmek için daha az zaman harcarlar. Ayrıca, uygulamanızın gelecekteki işletim sistemi sürümleri üzerinde çalışacağından emin olabilirsiniz.
Not: Android veya iOS'un yeni bir sürümü çıktıktan sonra, Flutter widget'larının güncellenmesi gerekir (araç native platform widget'larını kullanmaz). Flutter'ın widget'larını güncellemesinin ne kadar süreceğini merak ediyor olabilirsiniz.
Google'da kendi uygulamalarında Flutter kullandığı için, Flutter ekibi, widget setlerini olabildiğince güncel ve platform widget'larına yakın tutmak için güçlü bir şekilde çalışıyor. Ayrıca, Flutter widget'ları özelleştirilebilir ve herkes tarafından güncellenebilir. Uygulamanız eski işletim sistemi sürümlerinde bile yeni widgetlar kullanabilir!

Açık kaynak

Flutter, destek sağlayan, aracın kapsamlı dokümantasyonuna katkıda bulunan ve yardımcı kaynaklar geliştiren aktif bir geliştirici topluluğu tarafından çevrili açık kaynaklı bir teknolojidir. Dart ve Flutter kullanmak ücretsiz.

Güçlü bir rakip

Flutter, şu an piyasadaki en yenilikçi mobil teknolojilerden biridir. Geliştirme ekiplerine sağladığı avantajlar, yakın gelecekte tercih edilen mobil teknoloji için umut verici bir aday olmasını sağlıyor.

 

Nasıl Öğrenebilirim?

Google üzerinde ufak bir araştırma yaparak yüzlerce ve hatta binlerce kaynak bulabilirsiniz. Eğer İngilizce biliyorsanız kendi dökümentasyonu bile sizler için yeterli olacaktır.

Keyifli kodlamalar...

Yorumlar