• 15.12.2025 13:03:41
  • Admin Admin

Flutte ile Merhaba Uygulaması

Flutter Nedir? Nasıl Çalışır? (Yeni Başlayanlar İçin Zihinsel Model)

Flutter’a başlarken çoğu kişi “widget ezberi” yaparak ilerliyor. Bir süre sonra da şu cümle geliyor: “Ben bunu yazdım ama Flutter neden böyle davranıyor?”

Bu yazıda hedefimiz ezber değil. Flutter’ın nasıl çalıştığını zihnimize oturtacağız. Böylece ileride state, performans, mimari gibi konular çok daha kolay gelecek.

Flutter Mental Model - OpenDart

Flutter nedir?

Flutter, Google tarafından geliştirilen cross-platform bir UI (arayüz) framework’üdür. Tek bir kod tabanı ile Android, iOS, Web ve Desktop hedeflerine uygulama geliştirebilirsiniz.

Flutter’ı diğerlerinden ayıran asıl fark

Flutter’ı özel yapan şey sadece “tek kodla çok platform” değildir. Flutter’ın en büyük farkı şudur:

Flutter çoğu UI’yi native bileşenleri çağırarak değil, kendisi çizerek oluşturur.

Bu ne demek? Basit düşünelim:

  • Sen “buton istiyorum” dersin
  • Flutter bunu bir “tanım” olarak alır
  • Sonrasında motor (engine) bunu ekrana piksel piksel çizer

Not: Bu yaklaşım sayesinde UI davranışları platformdan platforma daha tutarlı olur. Bu tutarlılık, ileride tasarım ve performans işlerini kolaylaştırır.

Flutter çalışırken ne olur?

Flutter’ı kafada oturtmak için şu akışı bilmek yeterli:

Flutter çalışma akışı diyagramı

Akış şöyle düşünülebilir:

  • Sen Dart ile UI’yi tanımlarsın
  • Flutter Framework bu tanımı işler
  • Engine (Skia) bunu ekrana çizer

Widget nedir?

Flutter’da “her şey widget” derler ve bu doğrudur. Ama widget’ı yanlış anlamak çok yaygın.

Widget, ekrandaki şey değildir. Widget, ekrandaki şeyin tarifidir.

Bunu bir örnekle düşünelim:

  • Tarif = “Pilav şöyle yapılır”
  • Pilavın kendisi = pişmiş sonuç

Flutter’da widget, tarif gibidir. Flutter engine de bu tarife bakıp “sonucu” (ekranı) üretir.

Sık hata: “Ben şu widget’ı koydum, niye güncellenmedi?”

Flutter çoğu zaman “güncellemez”, yeniden çizer. Bu cümle ileride performans konularının temelidir.

Stateless ve Stateful arasındaki fark

En kısa haliyle:

  • StatelessWidget: UI sabitse, veri değişmiyorsa
  • StatefulWidget: UI zamanla değişecekse (ör. sayaç, form, API sonucu)

Flutter neden Dart kullanıyor?

Flutter’ın Dart’ı seçmesi tesadüf değil. Dart, Flutter’ın ihtiyacı olan iki önemli şeyi aynı anda sağlar:

  • Hot Reload için hızlı geliştirme deneyimi
  • Yayınlanan uygulamalarda yüksek performans (AOT derleme)

Dart ayrıca async işlemler (Future/Stream) için iyi bir modele sahiptir ve UI geliştirmede verimli çalışır.

Özet

  • Flutter cross-platform bir UI framework’üdür
  • Flutter çoğu UI’yi kendi çizer (engine)
  • Widget = ekrandaki şey değil, tanımıdır
  • Flutter çoğu zaman “update” yerine rebuild yapar
  • Dart seçimi performans + geliştirme deneyimi içindir

Sıradaki yazı

Bir sonraki makalede kurulum tarafına giriyoruz:

Flutter Kurulumu (Windows/macOS/Linux) – Sorunsuz Kurulum Rehberi