Berita Produk

Merayakan 5 tahun Jetpack Compose

Waktu baca: 5 menit

Hari ini, kami secara resmi merayakan lima tahun sejak rilis Jetpack Compose 1.0. Mulai dari versi 1.0, yang diumumkan pada 28 Juli 2021, hingga rilis 1.11 terbaru, kami telah melihat evolusi signifikan pada API selama bertahun-tahun, dan kami ingin merayakannya.

Saat kami secara resmi mengumumkan rilis 1.0, kami menjanjikan cara yang lebih sederhana, lebih cepat, dan lebih intuitif untuk membangun antarmuka native di Android. Melihat ke belakang, dapat dikatakan bahwa Compose tidak hanya memenuhi janji tersebut, tetapi juga mengubah sepenuhnya ekosistem Android, dengan lebih dari 68% dari 1.000 aplikasi teratas menggunakannya dalam produksi saat ini. 

Histori

Selama lima tahun terakhir, Compose telah berkembang secara stabil. Pada awal-awal,  kami telah menunjukkan cara membuat tata letak dengan Box, Row, dan Column dasar. Saat ini, kami telah memperluas Compose agar tidak hanya berfungsi di perangkat seluler, tetapi juga di faktor bentuk lainnya seperti Compose untuk TVWearOSGlance untuk Widget, dan bahkan kacamata tampilan dengan Jetpack Compose Glimmer

jetpack_compose_everywhere.png

Kami merekam episode Android Developers Backstage bersama Clara Bayarri, Engineering Lead untuk Jetpack, dan dua mantan ketua tim, Romain Guy dan Chet Haase, serta Tor Norbye, Senior Engineering Director. Dalam episode ini, mereka membahas histori Compose dan hari-hari awal pengembangannya.

timeline.png
Sorotan Compose dari tahun ke tahun

Melihat ke belakang

Awal mula Compose sangat berbeda dengan yang Anda ketahui saat ini. Dua project berjalan secara paralel di dalam tim Android. 

Pada saat itu, tim toolkit Views sedang mempertimbangkan untuk memisahkan UI Toolkit menjadi library guna membantu kecepatan pengembangan, dan memudahkan developer mengadopsi serta mengontrol update. Sementara itu, tim sedang mengerjakan ide baru untuk membuat tata letak deklaratif dengan menyematkan XML di dalam Kotlin, yang terlihat seperti ini:

jetpack_compose_early_code.png

Kedua upaya tersebut digabungkan untuk menghasilkan apa yang Anda ketahui saat ini - UI Toolkit yang sepenuhnya deklaratif yang memanfaatkan kemampuan plugin compiler, runtime, dan Kotlin:

@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)
                    }
                }
            }
        }
    }
}

Dan Anda, komunitas, telah membantu kami sejak awal! Sebelum tahun 2021, Compose memiliki fase pra-alfa, yang membantu memastikan Compose cocok untuk menyelesaikan masalah developer kami.

Salah satu kenangan favorit kami adalah Android Dev Challenge. Kami menantang komunitas untuk membuat empat tugas berbeda dengan Compose, mengisi feed kami dengan aplikasi anak anjing, aplikasi jam, dan aplikasi cuaca, serta memberi kami banyak masukan langsung yang membantu membentuk rilis 1.0.

Compose terus berkembang, dari peluncuran dengan serangkaian komponen Material 2 hingga kini mendukung Material 3 Ekspresif.

material2.png
Material 2 di Compose

Rencana ke depan

Hingga saat ini, Compose 1.11 adalah versi terbaru dengan 1.12 yang akan segera hadir, yang menawarkan lebih banyak hal daripada 1.0, 5 tahun lalu. Tahun ini, kami memperkenalkan lebih banyak API adaptif, seperti FlexBoxGridMediaQuery, dan Styles. API ini memungkinkan Anda melanjutkan ke tingkat pengembangan UI adaptif premium berikutnya dengan Compose. 

Di Google I/O 2026, kami mengumumkan bahwa kami kini mengutamakan Compose, yang berarti semua pengembangan UI di masa mendatang hanya akan dilakukan di Compose, sementara toolkit Views memasuki mode pemeliharaan. Desain Material juga mengalihkan fokus sepenuhnya ke Compose, menandakan berakhirnya findViewById era

Komunitas adalah inti dari Compose 

Selama bertahun-tahun, Anda telah menginspirasi kami dengan contoh kreatif tentang cara Anda menggunakan Compose, dan kami ingin menyoroti beberapa contoh lagi tentang karya menarik yang telah kami lihat. JetBrains telah menjadi partner yang sangat baik bagi Google dengan Compose, yang memperluas Compose agar dapat berfungsi di berbagai platform dengan Compose Multiplatform dan memungkinkan developer desktop, iOS, dan web juga menikmati manfaat Compose.  

Kami sangat menikmati membaca newsletter favorit kami dari Dispatch JetpackCompose.appAndroidWeekly, hingga jetc - yang membantu Developer Android tetap mendapatkan info terbaru tentang dunia Compose dan Android. 

Kontributor luar biasa lainnya adalah sinasamaki. Mereka telah membuat banyak pengalaman menarik menggunakan Compose, seperti pengubah pita yang seru ini dan efek glitch:

ribbon_modifier_sinasamaki.gif

Saket Narayan juga selalu menjadi inspirasi dalam hal membuat alat yang berguna untuk Compose, seperti telephoto, library yang menampilkan dukungan untuk gestur geser dan zoom serta sub-sampling otomatis gambar besar, atau library terbaru, Touch Robot, yang memungkinkan Anda menguji animasi interaksi dengan mudah:

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

Jake Wharton, yang telah menggunakan Compose dengan cara inovatif (seperti molekul, dan bahkan membuat UI dengan Compose untuk terminal dengan mosaik). Chris Banes, yang telah membuat banyak library Compose selama bertahun-tahun, dengan library favorit terbaru kami - Haze untuk mengaburkan latar belakang, dan banyak Pakar Google Developers Android seperti Akshay ChordiyaHuyen Tue Dao, dan Katie Barnett, yang telah berkontribusi pada kesuksesan Compose. Namun, ini bukan tentang memilih individu. Ada begitu banyak kontributor hebat untuk codebase Compose, dan banyak dari Anda terus menginspirasi kami dengan contoh, library, dan diskusi mendalam yang menarik.  Tanpa komunitas, Jetpack Compose tidak akan sesukses sekarang. 

Semoga 5 tahun ke depan, dan seterusnya, akan lebih baik lagi. 

Jetpack Compose telah berkembang dari ide eksperimental menjadi standar untuk Pengembangan UI Android. Terima kasih kepada seluruh tim Toolkit di Google, dan kepada komunitas developer global yang luar biasa yang menulis library, melaporkan bug, dan mendorong batas kemampuan UI deklaratif. 

Minggu ini, kami akan merayakan ulang tahun dengan mengadakan beberapa pesta ulang tahun secara langsung di seluruh dunia, dan “Pesta ulang tahun” live di channel YouTube Android Developers pada 30 Juli pukul 13.00 UTC.  Selama waktu ini, kita akan berkumpul, mendiskusikan Compose, dan menjawab pertanyaan Anda.

Selamat menjalani 5 tahun ke depan, dan selamat menyusun lagu!

Ditulis oleh:
Lanjutkan membaca