Sobes.tech
Middle

Jetpack Compose nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Jetpack Compose, Android için deklaratif bir UI çerçevesidir ve Kotlin dilinde inşa edilmiştir. "UI, durumun fonksiyonu olarak" ilkesi üzerine kuruludur.

Ana kavramlar:

  • Deklaratiflik: Geliştirici, belirli bir duruma göre UI'nın nasıl görünmesi gerektiğini tanımlar, nasıl değiştireceğini değil (empirik yaklaşım).
  • Bileşim: UI, küçük, tekrar kullanılabilir öğelerden — Composable fonksiyonlarından — oluşur.
  • Durum: UI'nın şu anki görünümünü belirleyen veriler. Durum değişikliği otomatik olarak yeniden çizim (recomposition) tetikler.
  • Recomposition: Durum değiştiğinde Composable fonksiyonlarının tekrar çağrılması süreci, UI'yı güncellemek için. Compose, gerçekten değişen UI parçalarını akıllıca yeniden çizer.
  • Kotlin: Compose tamamen Kotlin ile yazılmıştır ve ifadeli ve özlü kodlar oluşturmak için onun özelliklerini (örneğin, lambda'lar, korutinler) kullanır.

İş akışı:

  1. Geliştirici, Composable fonksiyonları kullanarak UI'yı tanımlar.
  2. Bu fonksiyonlar, UI'nın mevcut duruma göre nasıl görünmesi gerektiğini açıklar.
  3. Compose, bellekte bir UI öğeleri ağacı oluşturur.
  4. Durum değiştiğinde, Compose yeniden yapılandırma sürecini başlatır.
  5. Yeniden yapılandırma sırasında, Compose hangi UI parçalarının güncellenmesi gerektiğine karar verir.
  6. Sadece durumu değişen veya bağlı olan Composable fonksiyonlarını çağırır.
  7. Compose, "slot" teknikleri ve Composable fonksiyonlarının önceki ve yeni durumlarının karşılaştırmasını kullanarak, yeniden yapılandırma sırasında işi en aza indirir. Değişiklikler gerçek UI'ya uygulanır.

Composable fonksiyonuna örnek:

@Composable
fun Greeting(name: String) {
    Text(text = "Hello, $name!")
}