Flutter

Google'ın açık kaynaklı UI toolkit'i. Tek kod tabanından iOS, Android, Web ve Desktop uygulamaları geliştirin.

Flutter, Google tarafından geliştirilen açık kaynaklı bir UI toolkit'tir. Dart programlama dili ile tek kod tabanından iOS, Android, Web ve Desktop uygulamaları oluşturabilirsiniz.

Flutter'ın Farkı

Flutter, platform-specific UI componentleri yerine kendi rendering engine'ini (Skia) kullanır. Bu sayede her platformda tutarlı görünüm ve 60fps performans elde edersiniz.

Hot Reload ile Hızlı Geliştirme

Kod değişikliklerinizi anında görebilirsiniz. Bu, UI geliştirmeyi inanılmaz hızlı ve keyifli hale getirir.

Özellikler

Flutter Özellikleri

Cross-platform

iOS, Android, Web, Windows, macOS, Linux

Hot Reload

Anlık kod değişikliği görüntüleme

Widget-based UI

Her şey bir widget, kompozisyon ile UI oluşturma

Native Performans

Kendi rendering engine'i ile 60fps

Zengin Widget Kütüphanesi

Material Design ve Cupertino widget'ları

Dart Dili

Kolay öğrenilen, performanslı dil

Kullanım Alanları

Nerelerde Kullanılır?

Cross-platform Mobil

Tek kodla iOS ve Android

Google Pay, Alibaba, BMW

MVP ve Startup

Hızlı pazara çıkış

Minimum maliyetle çift platform

E-ticaret Uygulamaları

Mobil mağaza uygulamaları

eBay Motors, Reflectly

Finans Uygulamaları

Bankacılık ve ödeme uygulamaları

Nubank, Google Pay
Karşılaştırma

Artıları ve Eksileri

Avantajlar

  • Tek kod tabanı ile çoklu platform
  • Hot Reload ile hızlı geliştirme
  • Native-benzeri performans
  • Google'ın güçlü desteği
  • Büyüyen topluluk ve ekosistem
  • Kapsamlı widget kütüphanesi

Dezavantajlar

  • Dart öğrenme gereksinimi
  • Büyük uygulama boyutu
  • Platform-specific özellikler için plugin gerekli
  • Native geliştiricilere göre daha az iş ilanı
Ön Gereksinimler

Öğrenmek İçin Ne Bilmeli?

Zorunlu
OOP Kavramları

Class, inheritance, interfaces

Zorunlu
Dart Temelleri

Flutter öğrenirken paralel öğrenilebilir

Önerilen
Mobil UX

iOS ve Android tasarım prensipleri

SSS

Sıkça Sorulan Sorular

Flutter mı React Native mı?

Flutter daha iyi performans ve tutarlı UI sunar. React Native ise JavaScript bilgisiyle hızlı başlangıç sağlar. Her ikisi de güçlü seçeneklerdir.

Dart zor mu?

Hayır, Java/JavaScript/C# biliyorsanız Dart'ı çok hızlı öğrenirsiniz. Syntax temiz ve modern.

Flutter ile oyun yapılabilir mi?

Basit 2D oyunlar için Flame engine kullanılabilir. Karmaşık oyunlar için Unity veya Unreal Engine tercih edilmeli.

Flutter'ın bütçeye etkisi tek satırda toplanır: mobil kalem iki kez sayılmaz

Teklif hazırlarken iOS ve Android'i ayrı ayrı fiyatlayan bir ajansla, tek kalem fiyatlayan bir ajansı karşılaştırıyorsanız fark buradan çıkıyor. Bizim fiyat motorumuz Flutter projelerinde mobil geliştirmeyi tek codebase olarak sayar; iOS ve Android ayrı gün yazılmaz. Store yayını, mağaza varlıkları ve platform izinleri gibi kalemler yine iki mağaza için ayrı yapılır ama geliştirme günü ikiye katlanmaz.

KapsamAdam-gün bandı300-400 USD/gün karşılığı
Tek ekranlı vitrin / kampanya uygulaması15-304.500 - 12.000 USD
Mobil uygulama + backend API (MVP)35-6010.500 - 24.000 USD
Çok modüllü platform, AI ve çoklu entegrasyon60-10018.000 - 40.000 USD

Orta bandın referans noktası somut: iOS ve Android tek codebase, arkasında API, yapay zeka destekli sohbet, ilaç hatırlatma, TR/EN dil desteği, yönetim paneli ve landing sayfası içeren bir sağlık takip uygulaması 45-60 adam-gün aralığında planlanır. Kapsamınız bundan küçükse rakamın da küçük olması gerekir; büyük çıkıyorsa teklifin kapsam listesini satır satır sorun.

Test ve proje yönetimi gibi dolaylı kalemler toplamın %25'ini geçmez; geçen teklifler ya kapsamı bilmiyordur ya da riski size fiyatlıyordur. Kendi kapsamınız için tahmini burada alabilirsiniz.

Flutter 3.27'den sonra iOS'ta Skia'ya geri dönüş yok

Flutter 3.27 ile Impeller, iOS'ta tek desteklenen render motoru oldu; geri dönüş anahtarı kaldırıldı. Android tarafında Impeller API 29 ve üzeri için varsayılan, API 29 altındaki cihazlarda ve Vulkan desteklemeyen cihazlarda motor otomatik olarak Skia'ya düşer (bkz. Flutter Docs, Impeller rendering engine).

Pratik sonucu şu: eski bir Flutter projesini sürüm atlatırken iOS'ta gölge, blur, özel shader ve karmaşık clip kullanan ekranlarda görsel farklar çıkabilir ve "eski motora dönelim" seçeneğiniz yoktur. Android'de geçici olarak kapatabilirsiniz:

# hata ayıklarken
flutter run --no-enable-impeller
<!-- AndroidManifest.xml, <application> içinde -->
<meta-data
    android:name="io.flutter.embedding.android.EnableImpeller"
    android:value="false" />

Sürüm atlama planına iOS'ta görsel regresyon turu koymadan başlamayın. Bu, kapsamı küçük ama atlanınca mağaza sürümüne kadar fark edilmeyen bir kalemdir.

Flutter'ı önermediğimiz durumlar

Her mobil işe Flutter demek, ajansın kolayına gelen cevaptır. Şu dört durumda native'e gidin:

  • Platforma gömülü SDK'lar işin merkezindeyse. Derin ARKit/ARCore kullanımı, gelişmiş kamera boru hattı veya sağlık cihazı SDK'ları köprü yazma yükünü tasarruf ettiğiniz günlerin üstüne çıkarır.
  • Arka planda kesintisiz çalışması gereken bir iş varsa. Uzun süreli BLE bağlantısı, sürekli konum veya arka plan ses akışında platform davranışları ayrışır; tek codebase iki ayrı özel çözüme dönüşür.
  • Ekipte zaten çalışan bir iOS ve Android ekibi varsa. Teknoloji değiştirmenin maliyeti kod değil, insan. Mevcut ekibin hızını sıfırlamayın.
  • Hedef, arama motorundan trafik alan bir web uygulamasıysa. Flutter Web bunun için doğru araç değil; bu işi Next.js ile yapıyoruz.

İlgili sayfalar: mobil uygulama geliştirme, MVP geliştirme, Next.js ile web uygulaması, mobil geliştirici ekibi kiralama.

Flutter ile Proje mi Geliştirmek İstiyorsunuz?

Uzman ekibimizle projelerinizi hayata geçirin veya Akademi'de öğrenmeye başlayın.