Google推出jetpack已经挺长时间了,但是我由于工作原因,没有什么时间去学习这个框架,日常工作也用不到这类技术。但是生命不息,学习不止呀。
首先介绍一下jetpack,按照Google官方的说法
Jetpack是一套库、工具和指南,可以帮助开发者更轻松地编写优质应用。这些组件可以帮助开发者遵循最佳做法、让开发者摆脱编写样板代码的工作并简化复杂任务,以便开发者将精力集中放在所需的代码上。
它可以帮助开发者快速的构建高质量的应用。它被分为四个主要模块:
1、Architeture:架构组件,按照我的理解,它是一套通用版的应用层架构。无论我们打算开发什么类型的APP,都会涉及到数据注入、Activity生命周期管理、数据库管理等操作。以往我们开发一款APP,都需要先自己写一套应用层框架,用来处理我刚刚说的那些工作。但现在,直接使用Architecture组件就行了,相当于Google官方统一了一套应用层开发框架。这样就大大减少了重复造轮子的时间,而且如果大家都使用同一套框架,那么代码的可读性、可维护性也就更高了。(避免了某些奇葩框架扰乱大家的视听)
2、Foundation:基础组件,它的主要目的是提高Android APP的兼容性,不仅是Android版本的纵向兼容,还提供了不同Android设备的横向兼容。比如一个App可以在Android手机上运行,那么借助Foundation组件,它就可以在平板电脑、汽车、手表、TV上运行,只要这些设备都搭载了Android操作系统,那么它就可以做到一次开发,到处运行。(这一点其实我是持怀疑态度的,毕竟我当年学java的时候,也说一次编译,到处运行。结果呵呵)
3、Behavior:行为组件,如名字所说,该组件统一很多Android场景下的行为代码,把它们封装成了一个简单易用的API,直接调用,简单的一批。比如说相机拍照对焦、权限申请、下载文件、系统通知等。Google把这类行为统一起来,我们在使用的时候就可以直接调用API提供的方法就行了。(开发难度-10086)
4、UI:这个组件感觉不需要多说了,做过开发的都知道,画界面,画互动性高的界面,这个工作量那可比写逻辑代码的工作量大多了。而且做的不好,还会直接影响用户体验,很容易让用户产生厌恶情绪。Google估计也意识到这点了,所以推出了UI组件,它提供了一套非常简单、高效且美观的界面绘制方案,可以展现丰富的动画效果,以及表情包的支持,最最厉害的是色彩管理,它提供一整套和谐美观的配色方案,简直是开发狗福音啊。