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.
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
Nerelerde Kullanılır?
Cross-platform Mobil
Tek kodla iOS ve Android
Google Pay, Alibaba, BMWMVP ve Startup
Hızlı pazara çıkış
Minimum maliyetle çift platformE-ticaret Uygulamaları
Mobil mağaza uygulamaları
eBay Motors, ReflectlyFinans Uygulamaları
Bankacılık ve ödeme uygulamaları
Nubank, Google PayArtı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ı
Öğrenmek İçin Ne Bilmeli?
OOP Kavramları
Class, inheritance, interfaces
Dart Temelleri
Flutter öğrenirken paralel öğrenilebilir
Mobil UX
iOS ve Android tasarım prensipleri
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.
| Kapsam | Adam-gün bandı | 300-400 USD/gün karşılığı |
|---|---|---|
| Tek ekranlı vitrin / kampanya uygulaması | 15-30 | 4.500 - 12.000 USD |
| Mobil uygulama + backend API (MVP) | 35-60 | 10.500 - 24.000 USD |
| Çok modüllü platform, AI ve çoklu entegrasyon | 60-100 | 18.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.