İçeriğe geç
Fundirod
Geliştirici

Jetpack Compose Nedir? Deklaratif Arayüze Giriş

Güncellendi: 18 Ağustos 2026 · Okuma: 7 dakika

Kısa cevap

Jetpack Compose, Android arayüzlerini XML layout dosyaları yerine doğrudan Kotlin koduyla oluşturmayı sağlayan modern UI araç setidir. Arayüzün veriye göre nasıl görüneceğini tarif edersiniz; veri değiştiğinde Compose ekranı otomatik olarak günceller.

Seviye

Başlangıç–Orta

Platform

Android (native arayüz)

Ne tür uygulamalar yapılır?
Her tür uygulama arayüzüE-ticaretSosyal medyaDashboard & analitik

1. Jetpack Compose nedir?

Compose, @Composable olarak işaretlenen Kotlin fonksiyonlarıyla arayüz bileşenleri tanımlamanızı sağlar. Ayrı bir XML dosyası açıp findViewById ile görünümlere erişmek yerine, arayüz ve onu besleyen mantık aynı dosyada, yan yana durur.

2. Ne işe yarar, ne tür uygulamalarda kullanılır?

Compose, Android'de gördüğünüz her arayüzü yapabilir: liste ekranları, formlar, alt menüler, animasyonlar, grafikler. Özellikle şu durumlarda çok fark yaratır:

  • Sık değişen ekranlar: e-ticarette sepet tutarı, sosyal medyada beğeni sayısı gibi anlık güncellenen veriler.
  • Liste ağırlıklı uygulamalar: LazyColumn ile binlerce satırlık listeler performanslı şekilde çizilir.
  • Animasyonlu arayüzler: Compose'un animasyon API'si, XML dönemine göre belirgin şekilde daha az kod ister.
  • Tema desteği: Karanlık/aydınlık tema ve dinamik renk desteği doğrudan sisteme entegredir.

3. Deklaratif yaklaşım ne demek?

Eski (imperative) yöntemde arayüzü elle güncellersiniz: textView.setText("5"). Veri birden fazla yerde değişirse ekranı güncellemeyi unutmak kolaydır — hataların önemli bir kısmı buradan çıkar.

Deklaratif yaklaşımda ise "veri şu olduğunda ekran şöyle görünsün" dersiniz. Veri değiştiğinde Compose, ekranın hangi parçasının yeniden çizileceğine kendisi karar verir. Böylece arayüz ile veri asla birbirinden kopmaz.

4. State (durum) yönetimi

remember ve mutableStateOf ile tanımlanan bir değer değiştiğinde, o değeri kullanan composable fonksiyonlar otomatik olarak yeniden çalışır (recomposition). Manuel görünüm güncellemesi ihtiyacı ortadan kalkar.

5. Çalışan bir örnek

@Composable
fun SepetOzeti(urunler: List<Urun>) {
    var kuponUygulandi by remember { mutableStateOf(false) }
    val toplam = urunler.sumOf { it.fiyat }
    val indirimli = if (kuponUygulandi) toplam * 0.9 else toplam

    Column {
        Text("Toplam: $indirimli TL")
        Button(onClick = { kuponUygulandi = true }) {
            Text("Kuponu uygula")
        }
    }
}

Butona basıldığı anda kuponUygulandi değişir ve Text kendiliğinden yeni tutarı gösterir — arada tek satır güncelleme kodu yoktur.

6. Nasıl başlanır?

  1. Önce Kotlin temellerini öğrenin — Compose tamamen Kotlin üzerine kuruludur.
  2. Android Studio'da "Empty Compose Activity" şablonuyla yeni proje açın.
  3. Temel bileşenlerle oynayın: Text, Button, Column, Row, LazyColumn.
  4. @Preview ile arayüzü uygulamayı çalıştırmadan Android Studio içinde canlı görün — geliştirme hızınızı en çok artıran özellik budur.
  5. State yönetimini ve ekranlar arası geçişi (Navigation) öğrenin.