Ürün Haberleri

Jetpack Compose'un 5. yılını kutluyoruz

Okuma süresi 5 dakika

Bugün, Jetpack Compose 1.0'ın yayınlanmasının üzerinden geçen beş yılı resmen kutluyoruz. 28 Temmuz 2021'de duyurulan 1.0 sürümünden en son 1.11 sürümüne kadar API'lerin yıllar içinde önemli ölçüde geliştiğini gördük ve bu gelişmeyi kutlamak istiyoruz.

1.0 sürümünü resmi olarak duyurduğumuzda, Android'de yerel arayüzler oluşturmanın daha basit, daha hızlı ve daha sezgisel bir yolunu sunacağımızı söylemiştik. Geriye dönüp baktığımızda Compose'un bu sözü sadece yerine getirmekle kalmayıp aynı zamanda Android ekosistemini tamamen değiştirdiğini söyleyebiliriz. Bugün en iyi 1.000 uygulamanın% 68'inden fazlası Compose'u üretimde kullanıyor. 

Geçmiş

Compose, son beş yılda istikrarlı bir şekilde büyüdü. İlk günlerde, temel Kutu, Satır ve Sütun ile düzenleri nasıl oluşturacağınızı göstermeyi denedik. Bugün, Yazma özelliğini yalnızca mobil cihazlarda değil, TV için Compose, WearOS, Widget'lar için Glance gibi diğer form faktörlerinde ve hatta Jetpack Compose Glimmer ile ekran gözlüklerinde de kullanılabilecek şekilde genişlettik. 

jetpack_compose_everywhere.png

Jetpack'in mühendislik yöneticisi Clara Bayarri, ekibin iki eski yöneticisi Romain Guy ve Chet Haase ile kıdemli mühendislik direktörü Tor Norbye ile birlikte Android Developers Backstage bölümü kaydettik. Bu bölümde, Compose'un geçmişi ve geliştirmenin ilk günleri ele alınıyor.

timeline.png
Yıllar içinde öne çıkan anları derleme

Geçmişe bakış

Oluşturma özelliğinin başlangıcı, bugün bildiğinizden çok farklıydı. Android ekibinde aynı anda iki proje yürütülüyordu. 

O sırada, Views Araç Seti ekibi, geliştirme hızına yardımcı olmak ve geliştiricilerin güncellemeleri benimsemesini ve kontrol etmesini kolaylaştırmak için UI Araç Seti'ni bir kitaplıkta paketinden çıkarmayı düşünüyordu. Bu sırada bir ekip, Kotlin'e XML yerleştirerek bildirimli düzenler oluşturmak için yeni bir fikir üzerinde çalışıyordu. Bu fikir, aşağıdaki gibi görünüyordu:

jetpack_compose_early_code.png

Bu iki çalışma birleşerek bugün bildiğiniz şeyi ortaya çıkardı: Derleyici eklentisinin, çalışma zamanının ve Kotlin'in gücünden yararlanan tamamen bildirimsel bir kullanıcı arayüzü araç seti:

@Composable
fun Newsfeed(stories: List<Story>) {
    LazyColumn {
        items(stories) { story ->
            Card {
                val author = story.author
                Image(painterResource(author.profilePhoto),
                    contentDescription = author.name)
                Text(author.name)
                Text(story.content)
                if (story.hasCommentsEnabled()) {
                    for(comment in story.comments) {
                        Text(comment.mainContent)
                    }
                }
            }
        }
    }
}

Topluluk olarak siz de bize çok erken bir aşamada yardımcı oldunuz. 2021'den önce Compose'un, geliştiricilerimizin sorunlarını çözmeye uygun olmasını sağlamaya yardımcı olan bir alfa öncesi aşaması vardı.

En sevdiğimiz anılardan biri Android Dev Challenge. Topluluğa Compose ile dört farklı görev oluşturma zorluğu verdik. Feed'lerimizi yavru köpek uygulamaları, saatler ve hava durumu uygulamalarıyla doldurarak 1.0 sürümünün şekillenmesine yardımcı olan çok sayıda doğrudan geri bildirim aldık.

Compose, Material 2 bileşenleriyle kullanıma sunulmasından bu yana gelişmeye devam etti ve artık Material 3 Expressive'i destekliyor.

material2.png
Compose'da Material 2

Geleceğe dönük planlar

Bugün itibarıyla Compose 1.11, en son sürümdür. Yakında 1.12 sürümü kullanıma sunulacak. Bu sürüm, 5 yıl önceki 1.0 sürümüne kıyasla çok daha fazla özellik sunuyor. Bu yıl, FlexBox, Grid, MediaQuery ve Styles gibi daha uyarlanabilir API'ler kullanıma sunduk. Bu API'ler, Compose ile bir sonraki seviyede premium ve uyarlanabilir kullanıcı arayüzü geliştirmeye geçmenizi sağlar. 

Google I/O 2026'da artık Compose'u öncelikli olarak kullanacağımızı duyurduk. Bu, gelecekteki tüm kullanıcı arayüzü geliştirmelerinin yalnızca Compose'da yapılacağı ve Views araç setinin bakım moduna gireceği anlamına geliyor. Ayrıca Materyal Tasarım, odak noktasını tamamen Compose'a kaydırarak findViewById era'ın sonunu işaret ediyor. 

Topluluk, Compose'un temelinde yer alır. 

Yıllar içinde Compose'u nasıl kullandığınıza dair yaratıcı örneklerle bize ilham verdiniz. Şimdi de heyecan verici çalışmalarınızı gördüğümüz birkaç örneği daha paylaşmak istiyoruz. JetBrains, Compose ile Google'ın harika bir ortağı oldu. Compose Multiplatform ile Compose'un platformlar arası çalışmasını sağlayarak masaüstü, iOS ve web geliştiricilerin de Compose'un avantajlarından yararlanmasına olanak tanıdı.  

JetpackCompose.app’in DispatchAndroidWeekly ve jetc gibi en sevdiğimiz bültenleri takip etmekten çok keyif aldık. Bu bültenler, Android geliştiricilerin Compose ve Android dünyasındaki en son gelişmelerden haberdar olmasına yardımcı oluyor. 

Bir diğer önemli katkıda bulunan ise sinasamaki. Oluşturma'yı kullanarak birçok keyifli deneyim oluşturdular. Örneğin, bu eğlenceli şerit değiştirici ve aksaklık efekti:

ribbon_modifier_sinasamaki.gif

Saket Narayan, Compose için faydalı araçlar oluşturma konusunda her zaman ilham kaynağı olmuştur. Örneğin, kaydırma ve yakınlaştırma hareketleri ile büyük resimlerin otomatik alt örneklemesini destekleyen bir kitaplık olan Telephoto veya etkileşim animasyonlarını kolayca test etmenizi sağlayan en yeni kitaplık Touch Robot:

paparazzi.gif(end = 3_000) {
  DebitCard(
    Modifier.testTag("card")
  )

  val touchRobot = rememberTouchRobot()
  LaunchedEffect(Unit) {
    touchRobot.onNode(hasTestTag("card")).performGesture {
      draw(
        path = createAndroidHeadPath(),
        duration = 3.seconds,
      )
    }
  }
}

/** A path drawing the Android head. */
fun createAndroidHeadPath(bounds: Rect): Path = TODO()
saket_touch_robot.gif

Compose'u yenilikçi şekillerde (ör. molecule ve hatta mosaic ile terminal için Compose ile kullanıcı arayüzü oluşturma) kullanan Jake Wharton. Yıllar içinde birçok Compose kitaplığı oluşturan Chris Banes (en son favorimiz, arka plan bulanıklaştırma için Haze) ve Compose'un başarısına katkıda bulunan Akshay Chordiya, Huyen Tue Dao ve Katie Barnett gibi birçok Android Google Geliştirici Uzmanı. Ancak bu, bireyleri seçmekle ilgili değil. Compose kod tabanına çok sayıda harika katkıda bulunan oldu ve birçoğunuz eğlenceli örnekleriniz, kitaplıklarınız ve ayrıntılı konuşmalarınızla bize ilham vermeye devam ediyorsunuz. Topluluk olmasaydı Jetpack Compose bugünkü başarısına ulaşamazdı. 

Önümüzdeki 5 yıl ve daha fazlası için! 

Jetpack Compose, deneysel bir fikirden Android kullanıcı arayüzü geliştirmenin standardına dönüştü. Google'daki tüm Araç Seti ekibine, kitaplıklar yazan, hataları bildiren ve bildirim temelli kullanıcı arayüzünün yapabileceklerinin sınırlarını zorlayan inanılmaz küresel geliştirici topluluğuna teşekkür ederiz. 

Bu hafta, dünyanın dört bir yanında yüz yüze doğum günü partileri düzenleyeceğiz. Ayrıca 30 Temmuz'da saat 13:00'da (UTC) Android Developers YouTube kanalında canlı bir "Doğum günü partisi" düzenleyeceğiz. Bu süre zarfında, Compose'u tartışıp sorularınızı yanıtlayacağız.

Önümüzdeki 5 yılın getirecekleri için heyecanlıyız. İyi besteler!

Okumaya devam et