İçeriğe geç
Fundirod
Geliştirici

Flutter Nedir? Tek Kodla Android ve iOS

Güncellendi: 18 Ağustos 2026 · Okuma: 8 dakika

Kısa cevap

Flutter, Google'ın geliştirdiği; Dart diliyle yazılan tek bir kod tabanından Android, iOS, web ve masaüstü uygulaması üretebilen bir çerçevedir. Arayüzü kendi grafik motoruyla çizdiği için her platformda birebir aynı görünür ve hızlı çalışır.

Seviye

Başlangıç–Orta

Platform

Android · iOS · Web · Masaüstü

Ne tür uygulamalar yapılır?
E-ticaretMüzik & medyaSpor & fitness2B oyunKurumsal uygulamaMVP / hızlı prototip

1. Flutter nedir?

Flutter, Google tarafından geliştirilen açık kaynaklı bir UI çerçevesidir. Uygulamalar Dart diliyle yazılır. Flutter'ın en ayırt edici özelliği, platformun hazır arayüz bileşenlerini kullanmak yerine her pikseli kendi çizmesidir — bu sayede uygulamanız Android'de ve iOS'ta birebir aynı görünür.

Her şey "widget"tır: bir buton da, boşluk da, animasyon da widget'tır ve iç içe geçerek arayüzü oluşturur.

2. Ne işe yarar, ne tür uygulamalar yapılır?

Flutter, tek ekipten iki platforma birden ürün çıkarmak isteyenlerin ilk tercihlerindendir. Yaygın kullanım alanları:

  • E-ticaret: Ürün vitrini, sepet ve ödeme akışı — Flutter'ın hazır widget zenginliği burada çok işe yarar.
  • Müzik ve medya: Çalma listesi, ses oynatıcı, indirilen içerik yönetimi.
  • Spor & fitness: Antrenman takibi, grafik ve istatistik ekranları (Flutter'ın çizim gücü grafiklerde avantaj sağlar).
  • 2B oyunlar: Flame gibi motorlarla bulmaca/kart/platform tarzı oyunlar yapılabilir. Ağır 3B için uygun değildir.
  • Kurumsal iç uygulamalar: Saha ekibi formu, stok sayım, onay akışları.
  • MVP ve prototip: Fikri hızla iki platformda test etmek için en ekonomik yol.

3. Hot Reload: Flutter'ın en sevilen özelliği

Kodda bir değişiklik yaptığınızda uygulamayı baştan başlatmadan, saniyenin altında ekrana yansır — üstelik uygulamanın o anki durumu (hangi ekrandasınız, formda ne yazdınız) korunur.

Bu, arayüz üzerinde deneme yanılma yapmayı çok hızlandırır ve Flutter'ı özellikle tasarım ağırlıklı işlerde cazip kılar.

4. Basit bir örnek

class SepetSayaci extends StatefulWidget {
  @override
  State<SepetSayaci> createState() => _SepetSayaciState();
}

class _SepetSayaciState extends State<SepetSayaci> {
  int adet = 0;

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text('Sepette $adet ürün'),
        ElevatedButton(
          onPressed: () => setState(() => adet++),
          child: const Text('Ürün ekle'),
        ),
      ],
    );
  }
}

5. Artıları ve eksileri

Artıları:

  • Tek kod tabanı, iki (hatta dört) platform — geliştirme maliyeti belirgin şekilde düşer.
  • Hot Reload ile çok hızlı geliştirme döngüsü.
  • Arayüz her cihazda aynı görünür; "iOS'ta bozuk görünüyor" sorunu yaşanmaz.
  • Zengin hazır widget kütüphanesi ve olgun bir paket ekosistemi (pub.dev).

Eksileri:

  • Uygulama boyutu native'e göre daha büyüktür (motoru da içinde taşır).
  • Yeni çıkan platforma özgü bir API'yi kullanmak için paket beklemeniz veya köprü yazmanız gerekebilir.
  • Dart öğrenmeniz gerekir — Kotlin veya JavaScript biliyorsanız geçiş kolaydır ama yine de yeni bir dildir.
  • Ağır 3B oyunlar için uygun değildir.

6. Nasıl başlanır?

  1. Flutter SDK'sını kurun ve flutter doctor komutuyla eksikleri kontrol edin — bu komut size tam olarak ne yapmanız gerektiğini söyler.
  2. Dart'ın temellerini öğrenin (değişkenler, sınıflar, async/await). Bir haftalık bir konudur.
  3. flutter create ilk_uygulamam ile proje oluşturup varsayılan sayaç uygulamasını inceleyin.
  4. Widget ağacını kavrayın: Column, Row, Container, ListView.
  5. StatefulWidget ile durum yönetimini öğrenin, ardından Provider veya Riverpod gibi bir durum yönetimi paketine geçin.