(原创)初识Jetpack

从今天开始,打算写一个jetpack系列的博客

一来是把自己掌握的一些技术点分享出来

二来也是对自己学习到的东西做一个总结

那么现在开始!

因为是系列博客的第一篇

所以打算分成四个部分来讲

1.什么是jetpack
2.jetpack包含那些东西
3.学习jetpack有什么用
4.怎么学习jetpack

接下来,就让我们一探究竟吧

1、什么是jetpack

JetPack是Google推出的一些库的集合。是Android基础支持库SDK以外的部分。包含了组件、工具、架构方案等...开发者可以自主按需选择接入具体的哪个库。

从Goole IO 2017开始。Google 开始推出Architecture Component, ORM库Room, 用户生命周期管理的ViewModel/ListData.

Goole IO 2018将Support lib 更名为androidx. 将许多Google认为是正确的方案和实践集中起来。以高效的开发Android APP.

以上种种,现在统称为JetPack.其最核心的出发点就是帮助开发者快速构建出稳定、高性能、测试友好同时向后兼容的APP。

在官方文档上,是这样描写的:

Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。

我个人以为

说白了,就是谷歌主动给我们定制了很多高效实用的开发库,方便我们开发程序

要知道这些年,Android开发里涌现的第三方库层出不穷,质量也是参差不齐。

很多东西用着用着就不维护了,或者过时了

在一些重要的项目里使用起来有一定风险

现在官方主动提供了这些库,意味着我们可以放心地利用它们进行开发

把更多的时间和精力集中在业务上面

2、jetpack包含那些东西

jetpack里面包含了很多的库,具体可以参考下面的这张图

具体又可以分为下面四类

基础

AppCompat : 使得支持较低的Android版本。从以前继承Activity到现在继承AppCompatActivity 就是属于这一部分。

Android KTX: Kotlin的扩展支持库

Multidex: 多dex文件支持

Test: 测试支持库

架构

Data Binding: MVVM的一种实践

Lifecycles: 管理你的 Activity 和 Fragment 生命周期

LiveData: 通过观察者模式感知数据变化,类比RxJava

Navigation: 处理Fragment导航相关逻辑

Paging: 分页数据加载方案

Room: 官方ORM库

ViewModel: 通过数据驱动V视图发生改变

WorkManager: 管理后台任务

行为

DownloadManager: 管理下载任务

Media app: 多媒体播放和一些向后兼容的API。主要包含MediaPalyer和ExoPlayer

Notifications: 提供向后兼容的通知 API,支持 Wear 和 Auto

Permissions: 权限管理,这个应该都接触过。用于检查和请求应用权限

Settings: Preference相关API。基本每个应用都会用到

Share Action: 提供分享操作。这块在国内使用的不多,都是自己封装或者采用第三方方案。

Slices: 可以让应用通过外部(其他APP)显示APP界面(通过设备自带的搜索,语音助手等)

界面

界面部分所包含的东西基本是我们接触的最多的了:

Animations and Transitions: 动画,界面转场等

Auto: 针对车辆的标准化界面和模式。这方面实在接触的少,不感妄加评论。

Emoji: Emoji 相关。这个...同上面的Auto吧

Fragment: 基础概念

Layout: 基础概念

Palette-Colors: 调色板。接触的不多

TV: Android TV 开发相关

Wear: 可穿戴设备(目前主要是手表)开发相关

3、学习jetpack有什么用

说白了,我们开发项目,肯定是希望自己的项目更加高效,可维护

采用了官方推荐的这些解决方案,对于我们去开发也好,迭代也好

以及其他人去阅读我们的代码也好

都是有很大的帮助的

JetPack里目前包含的内容,未来也会是Google大力维护和扩展的内容。

对应开发者来说也是值得去学习使用的且相对无后顾之忧的。

JetPack里没有的,除开一些优秀的第三方库,未来应该也会慢慢被新的API替代,逐渐边缘化,直至打上Deprecate注解。

总的来说,JetPack的推广对广大开发者而言是利远远大于弊的。

所以我们才要抓紧学会这里面的东西

4、怎么学习jetpack

学习jetpack

不是说要去熟练掌握里面所有的库

而是根据自己的能力和业务需求

灵活的去学习和掌握

当然,里面有一些应用比较广泛的库

我们还是要抓紧时间掌握的

这个系列也是从这些实际用的多的库开始介绍

并不是jetpack里面所有的库都会涉猎

关于自学jetpack

可以参考jetpack官方文档

也可以看一些教学视频

比如B站的

2021年最全面的Jetpack系统学习课程,看他就够了,更新中

还有一些不错的博客文章

也可以抽出时间关注

最后,开篇文章到这里就结束了

希望大家动起来

尽快掌握这一整套开发利器!

加油!

5、资料分享

这个系列的博客,除了这篇初识Jetpack

每一篇我都写了对应的代码,全部在里面,要的自取

链接:百度网盘 请输入提取码
提取码:7wxj

gitee项目地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值