2026'da Android Geliştirmeye Başlangıç: MVP ve Sürüm İçin Minimum Set

Kerem Aydın·6 Temmuz 2026·⏱4 dk

2026'da bir Android uygulaması oluşturmak için rasyonel minimum Kotlin + Jetpack Compose + Jetpack kütüphaneleridir; ardından ihtiyaca göre ağ, depolama ve DI eklersiniz. Aşağıda, hemen uygulanabilecek araçlar ve yığın yer almaktadır.

İçindekiler

Araçlar ve ortam

Başlangıç için kurulması gerekenler (gereksiz fazlalıklar olmadan):

  1. Android Studio (Stable) — şunlarla birlikte kurun:
    • Android SDK + Platform Tools (ADB)
    • Emulator ve 1–2 cihaz imajı (biri "orta", biri "daha zayıf")
  2. Gradle + Android Gradle Plugin — birbirleriyle uyumlu sürümleri kullanın (genellikle IDE önerir).
  3. Gradle için JDK — desteklenen bir sürümü seçin (genellikle JDK 17).

Derleme beklenmedik şekilde başarısız olursa, "sistemde hangi Java'nın yüklü olduğuna" değil, IDE ayarlarında ve/veya projenin toolchain'inde Gradle için hangisinin seçildiğine bakın.

Projede hemen şunları etkinleştirin: minSdk (hedef kitlenize göre), targetSdk (güncel yayınlama gereksinimlerine göre), Play Store için AAB derlemesi ve ayrı bir release yapılandırması (imzalama, R8).

Minimum yığın: MVP vs "üretim-hazır"

Aşağıda iki çalışan minimum set bulunmaktadır. Fark basittir: MVP'de başlangıcı hızlandırırsınız, "üretim-hazır"da ise bir ay içinde yeniden yazma olasılığını azaltırsınız.

2026'da minimum yığınların karşılaştırılması

Alan1–3 günlük MVPİlk sürüm için minimum
DilKotlinKotlin
UIJetpack ComposeJetpack Compose + Material 3
Durum YönetimimutableStateOf / basit StateFlowCoroutines + Flow/StateFlow
MimariKatı katmanlar olmadanMVVM (ViewModel + gerekirse use-case'ler)
NavigasyonNavigation ComposeNavigation Compose
AğRetrofit veya KtorRetrofit/OkHttp veya Ktor (tek seçenek)
DepolamaDataStore (ayarlar)Room (veriler) + DataStore (ayarlar)
DIManuelHilt (veya başka bir DI, ancak tek)

"Minimum yığın"ın ana kuralı: Aynı şeyi çoğaltmayın. Retrofit'i seçtiyseniz, paralel olarak Ktor'u çekmeyin. Room'u seçtiyseniz, "ihtiyaç olur diye" ikinci bir veritabanı eklemeyin.

2026'da varsayılan temel olarak kabul edeceklerim:

  • Kotlin + Coroutines/Flow
  • Compose + Material 3
  • Navigation Compose
  • ViewModel (MVVM)
  • Retrofit veya Ktor (+ tek bir serileştirme yöntemi)
  • Room (çevrimdışı/önbellek gerekiyorsa), DataStore (ayarlar için)
  • Hilt (5+ bağımlılık ve testleme ortaya çıktığında)

Proje yapısı, durum yönetimi ve ilk sürüm

Tek modül :app içinde basit yapı (aşırı mühendislik olmadan):

  • ui/ — Compose ekranları, tema, bileşenler
  • presentation/ — ViewModel, olaylar, UiState
  • data/ — API/Veritabanı, DTO/Entity, repository uygulamaları
  • domain/ — Repository arayüzleri ve use-case'ler (çok fazla mantık varsa)

Bir ekran için minimum desen:

  • ViewModel, StateFlow içinde UiState tutar
  • UI abone olur ve durumları çizer: loading / content / error
    Bu sayede hemen öngörülebilir mantık, kolay testler ve UI'da daha az "sihir" elde edersiniz.

Testler (hızla karşılığını alan minimum):

  • Kritik mantık üzerinde 3–10 unit testi (use-case/repository)
  • Ana senaryo üzerinde 1–2 UI testi (ekranı aç → verileri/hatayı göster)

Yayınlamadan önceki kontrol listesi:

  • AAB derlemesi, release imzası yapılandırıldı (upload key)
  • Doğru versionCode/versionName
  • targetSdk güncel yayınlama kurallarına uygun
  • En azından release için R8 etkin (minimal kurallarla)
  • Gerçek cihazda smoke testi (sadece emülatör değil)

Sık yapılan hatalar

  • XML ve Compose'u kaotik bir şekilde karıştırmak: Compose'u ana UI olarak seçmek ve gerekirse XML'i noktasal entegre etmek daha iyidir.
  • 2 ağ yığını ve 2 serileştirme yöntemi sürüklemek; sonra bakım yapmak ve hata ayıklamak acı verici olur.
  • İlk uygulamada "mükemmel" çok modüllülük yapmak ve derleme/yapılandırma üzerinde zaman kaybetmek.
  • loading/error/content durumlarını ayırmamak; sonuçta UI yapı olmadan bir dizi if haline gelir.
  • Release derlemesini kontrol etmemek: Uygulama debug'da çalışır ancak R8/kaynaklar/yapılandırma nedeniyle release'da çöker.

SSS

Java ile başlamak mümkün mü?
Mümkün, ancak 2026'da yeni bir proje için Kotlin daha hızlı ve pratiktir: Compose ekosistemi, coroutines, tipik mimari ve örnekler.

Compose artık zorunlu mu?
Resmi olarak hayır, ancak yeni uygulamalar için modern UI'ye giden en doğrudan yol ve büyük XML katmanına göre daha kolay bakım sunar.

Retrofit mi yoksa Ktor mu — hangisi seçilmeli?
Ekip ve deneyime göre seçin, ancak tek bir kurala sadık kalın: proje başına tek HTTP istemcisi. Retrofit genellikle "klasik" yığın ve hazır çözüm sayısı nedeniyle tercih edilir; Ktor ise Kotlin-first yaklaşımı ve tutarlılık nedeniyle.

API varsa Room gerekli mi?
Çevrimdışı mod, önbellek, favoriler, geçmiş, karmaşık filtreler varsa evet. Uygulama kesinlikle "çevrimiçi" ise ve veri azsa, veritabanı olmadan başlayın ve gerçek bir ihtiyaç ortaya çıktığında sonradan ekleyin.