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
特別提醒:本網信息來自于互聯網,目的在于傳遞更多信息,并不代表本網贊同其觀點。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網有任何內容侵犯您的權益,請及時聯系我們,本站將會在24小時內處理完畢。