Bloglara Dön

Flutter ile Mobil Uygulama Geliştirmeye Başlamak

Flutter, Google’ın açık kaynaklı çapraz platform SDK’sıdır. Tek kod tabanıyla iOS, Android, Web, macOS, Windows ve Linux için uygulama üretebilirsiniz. Dart dili ile yazılır; hot reload sayesinde geliştirme deneyimi native geliştirmenin çok üzerindedir. Bu rehberde ilk uygulamanızı yayına almanız için gereken tüm adımları — kurulumdan store yükleme sürecine kadar — detaylıca ele alacağız.

Flutter özellikle grafik yoğun uygulamalar, custom UI ve premium hissiyat isteyen ürünler için 2026’nın en verimli tercihi hâline geldi. Google Ads, Google Pay, BMW ConnectedDrive, Alibaba Xianyu gibi ürünlerin Flutter üzerinden çalıştığını bilmek stack’in ciddiyetini gösteriyor.

1. Kurulum

Flutter SDK’yı flutter.dev’den indirin, PATH’e ekleyin ve flutter doctor komutuyla kurulumu doğrulayın. Xcode (Mac için iOS), Android Studio (SDK/emülatör) ve VS Code (Flutter + Dart eklentileri) gerekli. Fizik cihaz bağlarsanız gerçek performansı gözlemleyin.

2. İlk Proje

flutter create hello_app
cd hello_app
flutter run

Terminalde çıktıya bakın: iOS Simulator veya Android emulator otomatik seçilir. Hot reload için R tuşuna basmak yeterli — kayıt sırasında UI değişikliklerini anında görürsünüz.

3. Widget Ağacı

Flutter’da her şey widget. StatelessWidget ve StatefulWidget farkını öğrenmek temeldir. Compose ederek büyük UI’lar inşa edersiniz; Container, Row, Column, Stack, ListView, GridView temel yapı taşlarıdır. Layout hataları için Widget Inspector paha biçilmez.

4. State Management

Küçük uygulamalar için setState, orta büyüklükte Riverpod veya Provider, kurumsal için Bloc önerilir. 2026 itibarıyla Riverpod öğrenme eğrisi düşerken en popüler seçim.

  • Riverpod: Compile-time güvenlik, testability.
  • Bloc: State makine mantığı, kurumsal ekipler.
  • GetX: Hızlı prototipleme ama kurumsal projede önerilmez.

5. Navigasyon

Named routes yerine 2026’da GoRouter tercih edilir. URL tabanlı derin bağlantılar, web routing ve nested navigation için idealdir.

6. API Bağlantısı

Dio + Retrofit veya http paketi ile REST API çağırın. Freezed + Json Serializable ile modelleri kolayca yönetin. GraphQL için ferry veya graphql_flutter. Offline-first için Isar veya Drift.

7. Firebase Entegrasyonu

  • Authentication (email, Google, Apple).
  • Firestore (NoSQL).
  • Cloud Functions.
  • Cloud Messaging (push).
  • Analytics + Crashlytics.

8. Native Modüller

Platform channel ile Kotlin/Swift native kod çağırabilirsiniz. Kamera, bluetooth, sensör erişimi için Pigeon veya method channel.

9. Performans

  • const constructor kullanın.
  • ListView.builder ile lazy render.
  • Image cache: cached_network_image.
  • Profile mode ile FPS ölçümü.

10. Yayınlama

  • Android: flutter build appbundle → Google Play Console.
  • iOS: Xcode üzerinden App Store Connect.
  • Web: flutter build web → Vercel, Netlify veya kendi CDN’iniz.
  • CI/CD: GitHub Actions + Fastlane ile otomasyon.

Öğrenme Kaynakları

  • Resmi Flutter dokümantasyonu.
  • Google Codelabs.
  • Flutter YouTube kanalı.
  • Reso Coder, Robert Brunhage YouTube kanalları.
  • Very Good Ventures blog.

Sıkça Sorulan Sorular

Dart öğrenmek zor mu?

Java/C#/TypeScript geçmişi olan biri için 3-5 gün yeter.

Flutter Web üretime hazır mı?

SEO gerektiren public web için hayır. Uygulama içi web view veya admin panel için evet.

Backend olarak ne seçmeli?

Firebase (hızlı MVP), Supabase (open source), veya kendi Laravel API’niz.

Sonuç

Flutter, 8-12 haftalık disiplinli çalışmayla ürün geliştirmeye başlayabileceğiniz olgun bir çerçevedir. Firebase entegrasyonuyla backend ihtiyacınızı da hızla çözebilirsiniz. İlk ürünü store’a yükleyin — teori yerine pratik hızla ilerletir.