Skip to main content
Mobil Geliştirme

Jetpack Compose ile Android Geliştirme

Mart 15, 2026 3 dk okuma 12 views Raw
Jetpack Compose ile Android uygulama geliştirme görseli
İçindekiler

Jetpack Compose Nedir?

Jetpack Compose, Google'ın Android için geliştirdiği modern, deklaratif UI toolkit'idir. Geleneksel XML tabanlı arayüz geliştirmenin yerini alan Compose, Kotlin programlama dili ile tamamen kod tabanlı arayüzler oluşturmayı mümkün kılar. 2021'de kararlı sürümüne ulaşan Compose, bugün Android geliştirmenin standart arayüz çözümü haline gelmiştir.

Neden Jetpack Compose?

Geleneksel XML tabanlı geliştirmenin karşılaştığı sorunları çözen Compose, birçok avantaj sunar:

  • Daha az kod: Aynı arayüzü çok daha az kodla oluşturabilirsiniz
  • Sezgisel API: Kotlin'in gücünü kullanarak okunabilir ve bakımı kolay kod yazarsınız
  • Hızlı geliştirme: Anlık önizleme ile değişiklikleri anında görürsünüz
  • Güçlü araçlar: Android Studio ile derin entegrasyon
  • Mevcut kodla uyum: XML view'larla birlikte kullanılabilir

Compose Temel Kavramları

Composable Fonksiyonlar

Compose'da her UI elemanı @Composable anotasyonu ile işaretlenmiş bir fonksiyondur. Bu fonksiyonlar UI'ın ne göstermesi gerektiğini tanımlar. Composable fonksiyonlar parametreler alabilir, durum yönetebilir ve diğer composable fonksiyonları çağırabilir.

Temel UI Bileşenleri

BileşenAçıklamaXML Karşılığı
TextMetin görüntülemeTextView
ButtonTıklanabilir butonButton
TextFieldMetin girişiEditText
ImageGörsel göstermeImageView
CardKartlı içerikCardView
CheckboxOnay kutusuCheckBox

Layout Bileşenleri

Compose, esnek yerleşim düzeni için güçlü layout bileşenleri sunar:

  • Column: Elemanları dikey olarak sıralar
  • Row: Elemanları yatay olarak sıralar
  • Box: Elemanları üst üste yerleştirir
  • LazyColumn: Performanslı dikey liste (RecyclerView yerine)
  • LazyRow: Performanslı yatay liste
  • LazyVerticalGrid: Grid tabanlı performanslı liste

State Yönetimi

Jetpack Compose'da state yönetimi, UI'ın doğru şekilde güncellenmesi için kritik öneme sahiptir:

  1. remember: Recomposition sırasında değerin korunmasını sağlar
  2. mutableStateOf: Gözlemlenebilir durum değişkeni oluşturur
  3. rememberSaveable: Yapılandırma değişikliklerinde durumu korur
  4. derivedStateOf: Diğer durumlardan türetilmiş değerler oluşturur
  5. collectAsState: Flow değerlerini Compose state'e dönüştürür

Material Design 3

Jetpack Compose, Material Design 3 (Material You) ile tam entegrasyon sunar. Dinamik renk teması, cihazın duvar kağıdından renk paleti oluşturarak tutarlı ve kişiselleştirilmiş bir deneyim sağlar. Tema, tipografi ve şekil sistemleri Compose ile kolayca özelleştirilebilir.

Navigasyon

Compose Navigation kütüphanesi, ekranlar arası geçişleri yönetir:

  • NavHost ile navigasyon grafiği tanımlanır
  • composable fonksiyonları ile rotalar belirlenir
  • Argüman geçirme ve deep linking desteklenir
  • Bottom navigation ve drawer entegrasyonu kolaydır

Compose ile Mimari

Jetpack Compose projelerinde önerilen mimari yaklaşımlar:

  1. MVVM: ViewModel ile iş mantığını UI'dan ayırma
  2. Unidirectional Data Flow: Tek yönlü veri akışı ile tahmin edilebilir UI
  3. Repository Pattern: Veri kaynaklarını soyutlama
  4. Hilt: Bağımlılık enjeksiyonu için önerilen çözüm

Performans İpuçları

Compose uygulamalarında performansı artırmak için şu noktalara dikkat edilmelidir:

  • Gereksiz recomposition'ları önlemek için remember ve derivedStateOf kullanın
  • LazyColumn'da key parametresi kullanarak öğe kimliklerini belirtin
  • Büyük listelerde sayfalama (Paging 3) uygulayın
  • Ağır hesaplamaları remember ile önbelleğe alın

Jetpack Compose, Android UI geliştirmenin geleceğidir. Google'ın tüm Android yatırımlarını Compose ekosistemi üzerine yoğunlaştırması, bu teknolojinin önemini açıkça ortaya koymaktadır.

Sonuç

Jetpack Compose, Android uygulama geliştirmede yeni bir çağ başlatmıştır. Deklaratif yaklaşımı, güçlü Kotlin entegrasyonu ve Material Design 3 desteği ile modern Android uygulamaları geliştirmek hiç bu kadar verimli olmamıştı. Ekolsoft olarak, Android projelerimizde Jetpack Compose'u benimseyerek müşterilerimize hızlı, performanslı ve görsel olarak çekici uygulamalar sunuyoruz.

Bu yazıyı paylaş