一、Android JetPack——Google多么痛的領(lǐng)悟
最近好幾個(gè)小伙伴問(wèn)我什么是Android JetPack,聽(tīng)說(shuō)這個(gè)包好像有點(diǎn)牛,豬哥你會(huì)不?
我心想什么鬼!Android JetPack這貨不是一個(gè)庫(kù),是一整套的庫(kù),是一種信仰一種態(tài)度好么。從前,Android開(kāi)發(fā)者基本都是被放養(yǎng)的。生態(tài)基本全靠自建,代表有Square全家桶,Glide,Google自己也肯定是出力的,但是并沒(méi)有明確Android開(kāi)發(fā)的幾個(gè)大方向,所以安卓的開(kāi)發(fā)生態(tài)一直是百花齊放百家爭(zhēng)鳴。帶來(lái)的問(wèn)題就是經(jīng)常出現(xiàn)包引用莫名報(bào)錯(cuò)。
事情從2017年發(fā)生了轉(zhuǎn)機(jī),在Google IO 2017,官方終于正視了這個(gè)問(wèn)題開(kāi)始嘗試管理這個(gè)混亂的Android開(kāi)發(fā)環(huán)境,并推出了Architecture Component,主要有以下幾項(xiàng):
Room: 官方的ORM庫(kù)(個(gè)人認(rèn)為比GreenDao好用)ViewModel/LiveData:生命周期管理工具,自此Android才真正的應(yīng)用上了MVVM(BTW,DataBinding也歸到了JetPack里)
在2018年,AndroidX橫空出世,并且從1開(kāi)始,意圖取代經(jīng)常自己打自己臉的Support Lib。
一張圖來(lái)看看Google對(duì)JetPack有多看重
那JetPack到底是啥呢?
Jetpack is a suite of libraries, tools, and guidance to help developers write high-quality apps easier. These components help you follow best practices, free you from writing boilerplate code, and simplify complex tasks, so you can focus on the code you care about.
Jetpack 是一套庫(kù)、工具和指南,可幫助開(kāi)發(fā)者更輕松地編寫(xiě)優(yōu)質(zhì)應(yīng)用。這些組件可幫助您遵循最佳做法、讓您擺脫編寫(xiě)樣板代碼的工作并簡(jiǎn)化復(fù)雜任務(wù),以便您將精力集中放在所需的代碼上。
二、JetPack里的組件上圖就是JetPack中包含的組件列表,每個(gè)組件都是相對(duì)獨(dú)立的,可以被單獨(dú)使用和構(gòu)建。其中像被介紹的最多,也是最常被使用的LiveData, ViewModel, Room, Navigation, WorkManager之類(lèi)的都發(fā)布了正式版,而CameraX, Compose之類(lèi)的還處在Alpha版本,未正式發(fā)布,官方并不建議在生產(chǎn)環(huán)境中使用。
最后說(shuō)下,JetPack所有的組件都是基于AndroidX構(gòu)建的,如果想在項(xiàng)目中使用JetPack需要先將項(xiàng)目中對(duì)Support Lib的依賴(lài)全部換成AndroidX。
在這里我分享自己收錄整理的Android學(xué)習(xí)的PDF,里面對(duì)JetPack知識(shí)點(diǎn)進(jìn)行詳細(xì)的講解,希望可以幫助大家學(xué)習(xí)提升進(jìn)階,也節(jié)省大家在網(wǎng)上搜索資料的時(shí)間來(lái)學(xué)習(xí),可以分享給身邊好友一起學(xué)習(xí)
如果你有需要的話(huà),可以順手點(diǎn)贊+評(píng)論,關(guān)注一波后點(diǎn)擊??【Github】地址??查看。
本文摘自 :https://blog.51cto.com/u