Android 架构发展 : Android 架构的发展 途径了 MVC -> MVP -> MVVM 等方案 , 这些架构都 不是 Google 官方提出的 , 都是各个团队 根据自己的需求推出的适合自己的架构方案 ;
Jetpack 是 Google 推出的 架构设计标准 , 是官方推出 架构设计指导方案 ;
借助 Jetpack 提供的一系列的 工具 和 组件 , Android 开发者 可以 快速高效地 构建出 高质量 / 高性能 的应用架构 ;
使用 Jetpack 提供的架构 , 可以 简化 Android 应用开发架构相关内容 , 并且可以 减少格式化样本代码的编写 , 开发者可以使用更多的精力和时间 专注于 业务逻辑 的开发 ;
同时 , 还可以 减少 出错崩溃 的概率 , 内存泄漏 , 降低代码复杂度 ;
Jetpack 是 Google 官方提出的 , 由 多个 库 组成的 套件 , 这些库包括 :
Jetpack 是 Google 推出的 架构设计标准 , 是官方推出 架构设计指导方案 ;
Jetpack 架构 是 基于 分层结构设计 和 模块化开发 的 设计思想 提出的 ;
Jetpack 提供了一系列的组件类型 :
Jetpack 架构中 , 每个组件 都有其 相应的 功能 , 根据 项目的需求 , 和 团队的分工 , 将各种组件 进行 组合使用 , 就可以 构成一个 高可靠性的 项目架构 ;
使用 Jetpack 组件组合成的 架构设计 , 可以快速构建 应用程序 , 并且提高程序的稳定性 , 可维护性 ;
Jetpack 提供了 大量 现成 的 组件 和 工具 , 可以快速 构建 高质量 / 高性能 的 Android 工程 , 并且可以 提高 代码的 稳定性 , 可维护性 ;
使用 Jetpack 库 , 减少了很多 重复性的 代码工作 , 提高了开发效率 ;
Jetpack 是 Google 推荐的最佳的架构方案 , 一直在 不断更新 , 并且 兼容之前的 Android 系统版本 ;
使用 Jetpack 可以减少 架构带来 内存泄漏 和 崩溃 ;
使用 Jetpack 开发套件 , 可以轻松进行 工程架构 , 减少不必要的 架构相关的样板代码 , 开发者只需要专心开发自己的逻辑代码即可 ;
Jetpack 提供了一套 UI , 行为 , 架构 相关的解决方案 , 开发者可以不用再架构上浪费时间 , 专心开发自己的逻辑 ;
样板代码示例 : Activity 中管理各种生命周期 ;
开发 Android 应用 , 需要 考虑到 Android 的各个版本的特性 , 以及 各个 Android 手机厂商的适配问题 , 需要花费大量的时间精力进行适配工作 ;
使用 Jetpack 可以保证 在 各个 Android 版本 , 各种 Android 设备中 , 保持运行一致 , 可以降低 测试 , 适配 的 工作量 ;
Jetpack 自带设备系统兼容性解决方案 ;
使用 Jetpack 提供的 一系列的 组件 和 工具 , 可以
Jetpack 提供了一系列的 测试组件 ,
借助 Espresso , UI Automator , JUnit 测试组件 ,
可以快速 创建 Android 自动化测试 功能 ,
提高 程序的 质量 , 提高代码的稳定性 ;
Google 推出的 AndroidX 库 , 其 更新频率很频繁 , AndroidX 没有并入 SDK , 是因为其 更新频率很高 , 几乎 每个月都要更新 , Android 的 SDK 每次只在新版本发布时才更新 , 基本要半年到一年才能更新一次 ;
官方的 SDK 有很多不完善的地方 , Google 开发了很多开源项目 , 对 SDK 缺陷进行修复 , 这些开源项目最后都并入了 AndroidX 项目 , 其中每个子项目都在更新 , 因此 AndroidX 更新频率很高 ;
AndroidX 与 Jetpack 的关系 :
官方推出的库 , 除 SDK 之外的都并入到了 AndroidX 命名空间中 ;