背景

从官方文档中探索 Android App 架构演进的方向

近期,无意间从头翻阅了一下 Android 官方文档,发现文章的目录结构有不少改动的当地。我测验从这些改动的当地,一探 Android App 架构的演进方向。当然文档中包括的主题有很多,本文主要从架构相关的主题进行介绍。

官方文档中,中文与英文中的目录结构并不相同,英文版别结构愈加合理,中文文档结构应该是翻译进度问题有所滞后。也正是由于这种滞后的现象,才可以愈加方便的对比出官方关于各项技能的考虑。

下面咱们就看下详细的差异点在什么当地。

杰出架构设计,独立为章节

在中文版别的文档中,架构相关的内容散落在中心主题的各处,而在英文版别中则将架构部分单独抽成一个相对独立的部分。

从官方文档中探索 Android App 架构演进的方向

英文版别中相较于中文版别的改动主要有以下几点:

  1. 新增 App architecture 章节,并且在中心主题(Core topics)之上;
  2. 将中心主题中的新版架构攻略、架构组件、导航内容放入架构章节;
  3. 将最佳实践章节中的依靠注入放入架构章节;

下面会对涉及的改动的部分做一个详细的展开。

架构攻略

攻略这部分在中文版别中无法在目录结构中无法直接索引,英文版别中则可以比较明晰的看到 UI LayerDomain LayerData Layer 等内容。

从官方文档中探索 Android App 架构演进的方向

架构组件

架构组件现在看是 Jetpack 系列组件的子集,包括我们日常过程中可能会经常使用到的组件。

中文版别中,这部分是直接罗列;在英文版别中则是对其进行了分类。 UI 相关的组件放到了 UI Layer 中,数据相关的则放到了 Data Layer 中。UI Layer 中对生命周期相关的内容做了个收敛。

从官方文档中探索 Android App 架构演进的方向

App 进口(App Entry points)

App 进口这部分在中文版别中是没有界说的,在英文版别中则是把中心主题的 Activity 内容做了拆分。讲中文中的 Activity 原先内容中抽离出了额定的两部分:Shortcuts 和 App Widgets。Shortcuts调整成和 Activity 平级,都是 App 的进口,App Widgets 则是继续待在中心主题部分。

从官方文档中探索 Android App 架构演进的方向

App 导航

App 导航部分英文版别也是中文版别做了一次整理,逻辑愈加明晰。除了包括 Jetpack 组件中的 Navigation 之外,还有 Fragment 、App Links 以及 ViewPager 等内容。

从官方文档中探索 Android App 架构演进的方向

依靠管理

这部分内容基本上内容没有调整,仅仅是从最佳实践部分移动到App 架构部分。

从官方文档中探索 Android App 架构演进的方向

App Startup

这部分在中文版别中是在架构组件内,英文版别中是和依靠注入、App导航等内容是平级的联系,这也是比较好了解的。

斗胆猜测

依据个人了解,英文版别中的组织结构应该也不是终究版别,也会不断更新的。我个人觉得后面还会有相关的知识点会纳入到 App 架构的章节中。下面便是我个人的斗胆猜测。

  1. Data Layer 中会新增 Room 库,当然可能不仅仅会新增 Room 库,整个数据及文件部分都有可能移入到 Data Layer 中,现在 Room 库也是在数据及文件部分的。
  2. App 进口部分参加 App Widgets/Glance 及 Service 部分,App Widgets 比较好了解,在技能方面他是和 App Shortcuts 类似的东西,对外暴露的 Service,也可以作为是 App 的进口,当然这部分也可以作为是代码块调用的进口。

整体结构如下:

从官方文档中探索 Android App 架构演进的方向

总结

经过对比中英版别文档,咱们可以看到官方文档对各个知识点组织方法的演进方向。除了 App 的分层架构之外,还在逐步完善 App 整体架构。

也是希望经过这次对官方文档的整理,可以将 Jetpack 中常用的一些组件库在我们的脑海中建立一个网状联系,知道知识与知识之间的联系及链接,建立自己的知识网络。