1. 程式人生 > 資訊 >谷歌 Jetpack Compose 1.0 正式釋出:打造原生 UI 的 Android 現代工具包

谷歌 Jetpack Compose 1.0 正式釋出:打造原生 UI 的 Android 現代工具包

7 月 29 日訊息 據 Android 官方釋出,今天,谷歌正式釋出 Jetpack Compose 的 1.0 版本,這是 Android 的現代原生 UI 工具包,可以幫助你更快地打造更好的應用。這是 Compose 的穩定版本,可供大家在生產中使用。

谷歌稱,在我們釋出 1.0 的當下,Play Store 中已經有超過 2,000 個應用在使用 Compose 了。事實上,Play Store 應用本身也在使用 Compose,但這還不是全部,我們一直在與一些頂級的應用開發者合作,他們的反饋和支援幫助我們使 1.0 版本更加強大。

Jetpack Compose

https://developer.android.google.cn/jetpack/compose

為什麼要採用 Jetpack Compose

https://developer.android.google.cn/jetpack/compose/why-adopt

獲悉,谷歌稱,設計 Compose 的目的是讓你更快、更輕鬆地構建原生 Android 應用。通過完全的宣告式方法,你只需描述你的使用者介面,剩下的就交給 Compose 來處理。隨著應用狀態的變化,你的 UI 會自動更新,這使得快速構建 UI 變得更加簡單。直觀的 Kotlin API 可以幫助你用更少的程式碼構建出漂亮的應用。Compose 可以原生訪問既有的 Android 程式碼,這意味著你可以按自己的節奏採用它。強大的佈局 API 和程式碼驅動的 UI 使得適配不同規格的裝置更加輕鬆,比如平板電腦和可摺疊裝置,Compose 還將支援 WearOS 以及 Homescreen Widgets 等更多使用場景!

1.0 版本可以在生產中使用,你所需的核心功能盡在其中,包括:

  • 互操作性:Compose 可以和既有的應用進行互操作。你可以將 Compose UI 嵌入 View,反之亦然。你可以只在螢幕上新增一個按鈕,也把自己建立的自定義檢視保留在現在用 Compose 打造的介面中。

  • Jetpack 整合:Compose 和大家熟知且喜愛的 Jetpack 開發庫天然整合。通過與 Navigation、Paging、LiveData (或 Flow/RxJava)、ViewModel 和 Hilt 的整合,Compose 可以與你現有的架構完美共存。

  • Material:Compose 提供了 Material Design 元件和主題的實現,使你能夠輕鬆構建符合你的品牌個性的美觀應用。Material 主題系統更容易理解和追蹤,再也不需要翻閱多個 XML 檔案。

  • 列表: Compose 的 Lazy 元件為資料列表的呈現提供了一種簡單扼要且功能強大的方式,而且將模版程式碼精簡到了最少。

  • 動畫:Compose 簡明的動畫 API 讓你可以更輕鬆地打造出讓使用者眼前一亮的體驗。

在應用中採用 Compose

https://developer.android.google.cn/jetpack/compose/interop

Compose 和其他庫

https://developer.android.google.cn/jetpack/compose/libraries

Compose 中的主題

https://developer.android.google.cn/jetpack/compose/themes

列表

https://developer.android.google.cn/jetpack/compose/lists

動畫

https://developer.android.google.cn/jetpack/compose/animation

新工具

Jetpack Compose 的完全宣告式方法從根本上改變了使用者介面的開發方式。為了支援新的工作流程和不同的思維方式,我們正在提供新的工具,專為 Compose 而設計,並在一些現有工具中增加對 Compose 的支援。

Compose Preview

Android Studio Arctic Fox 中新加入的 Compose Preview 可以讓你同時檢視不同狀態、淺色和深色主題,或是不同字號的 Composables,使元件的開發更容易,再也不必先將整個應用部署到裝置中了。通過對字詞的實時編輯,你可以實時看到更新,而無需重新編譯專案。

Android Studio Arctic Fox

https://developer.android.google.cn/studio

Deploy Preview

如果你曾經希望能夠直接在裝置上測試 UI 的一部分,而不需要通過導航一步步瀏覽到你正在調整的介面中,那麼你一定會喜歡新的 Deploy Preview:只需為你的 Composable 建立一個預覽,就可將其直接部署到裝置上,從而快速進行迭代。

Layout Inspector 支援 Compose

Layout Inspector 增加了對 Composables 的支援,讓你可以放心地混用 Compose 與既有的 Views。

Compose 釋出路線圖

採用任何新的框架都需要經過評估,尤其是像新的 UI 工具包這樣意義深遠的東西。為了幫助你做出明智的決策,確定現在是否是採用 Compose 的合適時機,我們給出了一個公開的路線圖,和大家分享我們對 Jetpack Compose 的後續構建計劃:

https://developer.android.google.cn/jetpack/androidx/compose-roadmap

學習 Compose

為了幫助你和你的團隊掌握 Compose,我們準備了大量的學習資源:

教程 - 快速實際體驗 Compose,以及瞭解宣告式程式設計:

https://developer.android.google.cn/jetpack/compose/tutorial

文件 - 從 "Compose 程式設計思想"、"狀態和 Jetpack Compose"以及 "架構式層級"這樣的基礎話題,到核心 API 的使用指南,包括佈局、導航和測試,以及針對開發者工效或者工具等內容。覆蓋任何你需要了解的課題。

Jetpack Compose 使用入門

https://developer.android.google.cn/jetpack/compose/documentation

Compose 程式設計思想

https://developer.android.google.cn/jetpack/compose/mental-model

狀態和 Jetpack Compose

https://developer.android.google.cn/jetpack/compose/state

架構式層級

https://developer.android.google.cn/jetpack/compose/layering

Compose 中的佈局

https://developer.android.google.cn/jetpack/compose/layouts

使用 Compose 進行導航

https://developer.android.google.cn/jetpack/compose/navigation

測試 Compose 佈局

https://developer.android.google.cn/jetpack/compose/testing

開發者工效

https://developer.android.google.cn/jetpack/compose/ergonomics

Compose 工具

https://developer.android.google.cn/jetpack/compose/tooling

Codelab - 如果你更喜歡邊用邊學,我們準備了 9 個 codelab 來幫助你全面掌握 Compose (別忘了來試試全新的高階狀態和副作用 codelab)。

Compose codelab

https://developer.android.google.cn/courses/pathways/compose

高階狀態和副作用 codelab

https://developer.android.google.cn/codelabs/jetpack-compose-advanced-state-side-effects#0

視訊 - 準備點零食,然後跟著視訊學習 Compose 的一切:

https://www.youtube.com/c/AndroidDevelopers/search?query=%23JetpackCompose

示例應用 - 我們準備了 8 個官方示例,它們展示了一系列的 API 及其用例:

https://github.com/android/compose-samples

學海無涯呀!這時不妨試試 Jetpack Compose Pathway,這是一個循序漸進的學習指南,通過關鍵的 codelab、視訊和文件來幫助你瞭解 Compose 的一切:

https://developer.android.google.cn/courses/pathways/compose