马上就要2020年了,作为一个Android程序员你还不会JetPack?

一、Android JetPack——Google多么痛的领悟

最近好几个小伙伴问我什么是Android JetPack,听说这个包好像有点牛,猪哥你会不?

我心想什么鬼!Android JetPack这货不是一个库,是一整套的库,是一种信仰一种态度好么。从前,Android开发者基本都是被放养的。生态基本全靠自建,代表有Square全家桶,Glide,Google自己也肯定是出力的,但是并没有明确Android开发的几个大方向,所以安卓的开发生态一直是百花齐放百家争鸣。带来的问题就是经常出现包引用莫名报错。

事情从2017年发生了转机,在Google IO 2017,官方终于正视了这个问题开始尝试管理这个混乱的Android开发环境,并推出了Architecture Component,主要有以下几项:

Room: 官方的ORM库(个人认为比GreenDao好用)ViewModel/LiveData:生命周期管理工具,自此Android才真正的应用上了MVVM(BTW,DataBinding也归到了JetPack里)

在2018年,AndroidX横空出世,并且从1开始,意图取代经常自己打自己脸的Support Lib。

一张图来看看Google对JetPack有多看重

Android Developer网站截图

那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 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。

马上就要2020年了,作为一个Android程序员你还不会JetPack?_第1张图片
image

二、JetPack里的组件

JetPack族谱

上图就是JetPack中包含的组件列表,每个组件都是相对独立的,可以被单独使用和构建。其中像被介绍的最多,也是最常被使用的LiveData, ViewModel, Room, Navigation, WorkManager之类的都发布了正式版,而CameraX, Compose之类的还处在Alpha版本,未正式发布,官方并不建议在生产环境中使用。

最后说下,JetPack所有的组件都是基于AndroidX构建的,如果想在项目中使用JetPack需要先将项目中对Support Lib的依赖全部换成AndroidX

转换方式参考我的另一篇文章。

Android项目迁移到AndroidX

你可能感兴趣的:(马上就要2020年了,作为一个Android程序员你还不会JetPack?)