2017 年的 Google IO 宣佈 Kotlin 成爲 Android 開發的官方語言。 2018年穀歌I/O 發佈了一系列輔助android開發者的實用工具,合稱Jetpack,以幫助開發者構建出色的 Android 應用。android
Jetpack 是一套庫、工具和指南,可幫助開發者更輕鬆地編寫優質應用。這些組件可幫助您遵循最佳作法、讓您擺脫編寫樣板代碼的工做並簡化複雜任務,以便您將精力集中放在所需的代碼上。 換言之,Google利用Jetpack將一些優秀的Android組件庫進行了標準化。後端
Android Jetpack 完美兼容 Kotlin 語言,利用 Android KTX 可大幅節省代碼量。 Jetpack 包含與平臺 API 解除捆綁的 androidx.* 軟件包庫。這意味着,它能夠提供向後兼容性,且比 Android 平臺的更新頻率更高,以此確保您始終能夠獲取最新且最好的 Jetpack 組件版本。設計模式
Android Jetpack 組件覆蓋如下 4 個方面:基礎(Foundation)、架構(Architecture)、行爲(Behavior) 、界面(UI)。安全
包含:Android KTX,AppCompat, Auto, 檢測, Multidex, 安全, 測試, TV,Wear OS by Google。服務器
Android KTX 是一組 Kotlin 擴展程序,屬於 Android Jetpack 系列。它優化了供 Kotlin 使用的 Jetpack 和 Android 平臺 API。Android KTX 旨在讓您利用 Kotlin 語言功能(例如擴展函數/屬性、lambda、命名參數和參數默認值),以更簡潔、更愉悅、更慣用的方式使用 Kotlin 進行 Android 開發。Android KTX 不會向現有的 Android API 添加任何新功能。架構
在較低版本的Android 系統上恰當地降級。AppCompat就是指v7 appcompat庫。 此庫添加了對操做欄用戶界面設計模式的支持。這個庫包括對Material Design用戶界面實現的支持。也就是說,咱們能夠藉助該庫,對Material Design有更便捷和兼容性更好的實現。app
Android Auto 提供了適用於全部車輛的標準化界面和用戶交互模式。做爲設計者,您無需擔憂車輛特有的硬件差別(如屏幕分辨率、軟件界面、旋鈕和觸摸式控件)。框架
快速對基於 Kotlin 或 Java 的代碼進行基準化分析。該庫會處理預熱,衡量代碼性能,並將基準化分析結果輸出到 Android Studio 控制檯。因爲這些步驟涉及停用調試功能以得到準確的性能結果,所以您不會將更改提交至源代碼控制系統中。ide
方法數超過 64K 的應用啓用多 dex 文件( 65,536 方法數限制)。函數
包含:DataBind, Lifecycles, LiveData, Navigation, Paging, Room, ViewModel, WorkManager.
可使用聲明性格式(而非程序化地)將佈局中的界面組件綁定到應用中的數據源。 即:將佈局組件與源數據綁定,使源數據變化的同時佈局組件及時同步更新。
用來管理和響應 Activity / Fragment 的生命週期的變化,幫助咱們編寫出更易於組織且一般更加輕量級的代碼,讓代碼變得更易於維護。 Lifecycle 是一個類,它持有 Activity / Fragment 生命週期狀態的信息,並容許其它對象觀察此狀態。
LiveData是一個可觀察的數據持有者類。與常規observable不一樣,LiveData是生命週期感知的。
是指支持用戶導航、進入和退出應用中不一樣內容片斷的交互。Android Jetpack 的導航組件可幫助您實現導航,不管是簡單的按鈕點擊,仍是應用欄和抽屜式導航欄等更爲複雜的模式,該組件都可應對。導航組件還經過遵循一套既定原則來確保一致且可預測的用戶體驗。
逐步從您的數據源按需加載信息。 分頁庫。
Room是Google爲了簡化舊式的SqlLite操做專門提供的一個SqlLite的ORM抽象層框架庫。
是以生命週期的方式存儲與管理UI相關數據。
管理一些要在後臺工做的任務, -- 即便你的應用沒啓動也能保證任務能被執行。 例如: 向後端服務發送日誌分析 按期與服務器同步應用程序數據