跳至內容

Jetpack Compose

維基百科,自由的百科全書

Jetpack Compose 是由谷歌開發的一個開源的、適用於使用 Kotlin 語言進行跨平台軟件開發的響應式編程用戶界面框架。該框架的首次預覽版本於 2019 年 5 月發布,而正式版本則於 2021 年 7 月推出。

Jetpack Compose 中,用戶界面是通過使用帶有@Composable這樣的註釋來定義的,這樣的函數被稱為「可組合函數」,它們的作用是定義屏幕的狀態。Jetpack Compose 利用 Kotlin 編譯器插件將可組合函數轉化為實際的 UI 元素。例如,以下代碼定義了一個簡單的 UI 元素:

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

歷史

[編輯]

Jetpack Compose 的首個預覽版本於 2019 年 5 月的 Google I/O 大會上發布。開發者預覽版在 2019 年 10 月推出,而 alpha 版本則於 2020 年 8 月正式發布。

2021 年 2月進入beta 階段,首個正式版本於同年 7月發布。

特點

[編輯]

Jetpack Compose 支持 Android 5.0 及更高版本的作業系統。它使用 Kotlin 程式語言,並提供了類似於 Flutter、Vue.js 和 React Native 等 UI 框架中的響應式編程模型。Compose 設計用於與現有的 Android 應用程式和庫無縫集成,使得開發者可以逐步將他們的應用程式遷移到 Compose 框架上。

在 Compose 中,用戶界面是通過使用了 @Composable 註解的函數來定義的,這類函數被稱為可組合函數,它們用於定義屏幕的狀態。該註解由 Compose 編譯器使用,來生成所需的 UI 模版代碼。當狀態發生更新時,系統會使用新數據再次調用這些可組合函數,從而導致它們發出的控件被重新繪製,這一過程被稱為重組。重組只會針對需要更新的可組合函數執行,從而提升了 UI 的運行效率。

1.0 版本引入了 Compose 預覽功能,這一功能從 Android Studio 的 Arctic Fox 版本開始就內置在了系統中。用戶可以通過不同的配置來預覽組合組件,而無需將應用部署到實際設備上進行測試。

Jetpack Glance 是一個基於 Jetpack Compose 的框架,用於開發 Android 應用程式的小部件。 Glance 的第一個穩定版本發布於 2023 年 9 月。

2024 年 9 月,用於使用 Material 3 構建自適應 UI 的 Jetpack Compose API 的 1.0 穩定版本正式發布。

使用

[編輯]

當 Jetpack Compose 1.0 發布時,谷歌表示:「目前,Play 商店中有超過 2000 個應用程式使用了 Compose 技術——實際上,甚至 Play 商店應用程式本身也採用了 Compose 技術。」 截至 2022 年 10 月,Play 商店排名前 1000 的應用程式中有 16%使用了 Compose 技術。這些應用程式來自 Airbnb、Lyft 和 Square 等公司。 到了 2024 年 5 月,這一比例上升到了 40%。

在 2022 年,谷歌詳細介紹了其如何通過 Jetpack Compose 來重構 Play 商店應用程式。他們表示:「使用 Jetpack Compose 編寫用戶界面所需的代碼量有時減少了 50%左右」,同時開發者們還能提升應用程式的性能。 谷歌在 Android 14 版本中利用 Jetpack Compose 重新編寫了 Android 設置應用程式的部分功能。 Meta Platforms在五個月內使用 Jetpack Compose 開發了其 Threads 社交媒體應用程式。 而 Instagram for Android 也是通過 Jetpack Compose 來編寫的。

關於跨平台(Compose Multiplatform)

[編輯]

Compose Multiplatform 是一種由 JetBrains 開發的跨平台 UI 框架,基於 Jetpack Compose 構建。該框架相比 Jetpack Compose ,移植添加了 Windows、macOS、Linux 以及 Web 平台。版本 1.0 alpha 版於 2021 年 8 月發布。2023 年 5 月,該框架增加了對 iOS 平台的支持。