Uytuz.com | Yazılım Öğren | Destek | Projeler | İnteraktif Forum

Yazılım Dersleri => Kotlin => Konuyu başlatan: Uytuz - Mar 20, 2026, 01:24 ÖS

Başlık: Kotlin'de Jetpack Compose: Modern Android UI Geliştirme - 2026
Gönderen: Uytuz - Mar 20, 2026, 01:24 ÖS
Kotlin'de Jetpack Compose, Android UI geliştirmenin modern ve declarative (bildirime dayalı) yoludur. Eski XML + View sistemine kıyasla Compose, tamamen Kotlin koduyla UI oluşturmanızı sağlar – daha kısa, daha güvenli ve state-driven bir yaklaşım sunar. 2026 itibarıyla Compose, Android'in resmi UI toolkit'i konumunda: Yeni projelerin %95+ı Compose ile başlıyor, Material 3 desteği tam, performans iyileştirmeleri (baseline profiles, compiler optimizasyonları) ve Wear OS, TV, Desktop (Compose Multiplatform) desteğiyle genişledi. Compose, reaktif state yönetimiyle birleşince (State, MutableState, ViewModel entegrasyonu) UI kodunuz hem daha az boilerplate içerir hem de daha test edilebilir olur.

Google'da "Jetpack Compose tutorial", "Compose Android", "Compose State", "Compose Material 3" gibi aramalar Türkiye'de ve dünyada en yüksek hacimli Android/Kotlin konularından. Compose'u iyi anlamak, modern Android geliştiricisi olmanın şartı – eski View sistemini öğrenmeye gerek kalmadan profesyonel uygulamalar yapabilirsiniz.

Neden Jetpack Compose Öğrenmelisiniz? (2026 Perspektifi)

Kurulum ve İlk Uygulama
Temel Compose Kavramları
Compose fonksiyonları @Composable ile işaretlenir – UI parçacıklarıdır.

import androidx.compose.material3.Text
import androidx.compose.material3.Button
import androidx.compose.foundation.layout.Column
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier

@Composable
fun Greeting(isim: String) {
    Column {
        Text(text = "Merhaba $isim!")
        Button(onClick = { /* tıklama */ }) {
            Text("Tıkla")
        }
    }
}

MainActivity'de kullanım:

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MyAppTheme {
                Surface(modifier = Modifier.fillMaxSize()) {
                    Greeting("Compose Dünyası")
                }
            }
        }
    }
}

State Yönetimi
En kritik kısım – mutableStateOf ile reaktif state.
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue

@Composable
fun Sayac() {
    var sayac by remember { mutableStateOf(0) }  // State hoisting için remember

    Column {
        Text("Sayaç: $sayac")
        Button(onClick = { sayac++ }) {
            Text("Artır")
        }
    }
}

ViewModel ile (uzun ömürlü state):

class SayacViewModel : ViewModel() {
    private val _sayac = mutableStateOf(0)
    val sayac: State<Int> = _sayac

    fun artır() {
        _sayac.value++
    }
}

// Kullanım
val viewModel: SayacViewModel = viewModel()
Text("Sayaç: ${viewModel.sayac.value}")
Button(onClick = viewModel::artır) { ... }

Layout'lar ve Modifier'lar

import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.arrangement
import androidx.compose.foundation.lazy.LazyColumn

@Composable
fun ListeOrnek() {
    LazyColumn(
        modifier = Modifier.padding(16.dp),
        verticalArrangement = Arrangement.spacedBy(8.dp)
    ) {
        items(100) { index ->
            Text("Öğe $index", modifier = Modifier.padding(8.dp))
        }
    }
}

Navigation (Compose Navigation):

implementation("androidx.navigation:navigation-compose:2.7.0")
Basit Proje: Todo List Uygulaması
Tam çalışan bir Todo app – state, list, ekleme/silme.
Bu proje çalıştırıldığında tam işlevsel bir Todo listesi olur – ekleme, tamamlama, silme.

İleri Konular

Sonuç ve Pratik Önerileri
Jetpack Compose, Android UI'nin geleceğidir – öğrenmesi kolay, yazması keyifli. Bu rehber ve Todo projesiyle temel bir app yapabilecek seviyedesiniz. İleri için:

Bu rehberle Compose'u etkili kullanmaya başlayacaksınız. Kendi Todo app'inizi genişletin veya başka proje için yorum bırakın! 2026'da Android projelerinizde Compose size büyük hız kazandıracak.