专栏首页程序亦非猿【AAC 系列一】Android 应用架构新时代来临!

【AAC 系列一】Android 应用架构新时代来临!

这是程序亦非猿的第 84 期分享。

作者 l 程序亦非猿

来源 l 程序亦非猿(ID:chengxuyifeiyuan)

转载请联系授权(微信ID:ONE-D-PIECE)

时不时 8:40 更新

0. 序言

本文是深入理解 Android Archicture Components (后称AAC) 系列文章的开篇。

你好,我是 菩提本无树, 程序亦非猿。

在 2017 年,Android 推出了 Android Jetpack,它是新一代组件、工具和架构指导,旨在加快 Android 应用开发速度。

Android Jetpack 分为四大块:Architecture、UI、Foundationy 以及 Behavior,随着时间的增加,Android 团队在 Jetpack 又增添了许多组件,目前最新的版图如下。

注意:2019 I/O 之后 Jetpack 又多了 CameraX 等,图中还未包含。

(图1-Android Jetpack)

1. Jetpack 架构组件

Jetppack 意在帮助我们开发者加快开发速度,能够让我们专注于自己的业务而不是花费大量时间去做一些兼容等琐碎的工作。 在我个人的体验角度而言, Architecture (架构组件) 对我的实际开发工作的帮助非常大。 Architecture 模块有着良好的兼容性,并且架构组件里的每个组件能够帮助我们应对某一类 难题/痛点

  1. Lifecycle :能够帮我们轻松的应对 Activity/Fragment 的生命周期问题,能够让我们以一种更加解耦的方式处理生命周期的变化问题,以及轻松避免内存泄露;
  2. LiveData :基于观察者模式、并且感知生命周期的数据持有类,能够帮助我们更好地解耦与处理数据;
  3. ViewModel + Data Binding :为我们在 Android 平台上实现 MVVM 架构提供了非常有效而强大的支持;
  4. Room :提供了一种更加友好高效的数据库持久化的功能;
  5. WorkManager :为我们执行后台任务提供了一站式解决方案;
  6. Navigation :能够帮助我们更加方便地构建单 Activity 应用;
  7. Paging :能够帮助我们应对加载大数据问题;

2. 官方推荐的 Android 应用新架构

Android 在推出 架构组件 的同时,还推荐了一个适合 Android 应用的架构,各个组件组织起来,如下图:

(图 2-Android 应用新架构)

每个组件都关注自己的事情,互不干扰,让我们的应用更加解耦且职责清晰。 为什么我说 Android 应用架构新时代来临? 因为,这似乎是 Android 团队第一次官方推荐一种 Android 应用架构,在这之前,Android 应用开发一直没有什么官方主导推荐的架构。我们做开发,也一直都是比较随意的,比如 MVC、MVP 甚至是 前端的 Flux 类型的架构都有在 Android 上被应用。而这一次一下子这么多牛逼的架构组件,再加上官方架构指导,可以称得上 Android 应用架构新时代来临了!

3. 小结

很显然了,架构组件对于我们来说具有非常大的实战价值,我们必须去了解并学会它们!

架构组件 如此NB,我们应该如何更好地使用它们呢? 它们背后的原理是什么样子的呢? 不要着急,船长后续会写一些列文章,来带大家一起学习一下这 NB 的架构组件!(划重点) 记得关注我,加个星标,不要错过了喔! Have a nice weekend,下周见。

4. 参考与推荐

jetpack官网:https://developer.android.com/jetpack YouTube 系列:https://www.youtube.com/playlist?list=PLWz5rJ2EKKc9mxIBd0DRw9gwXuQshgmn2 Jetpack 发布介绍:https://googledeveloperschina.blogspot.com/2018/05/android-jetpack.html 架构指南:https://developer.android.com/jetpack/docs/guide App实战指南:https://github.com/googlesamples/android-sunflower

(EOF)

Oh, one more thing.

本文分享自微信公众号 - 程序亦非猿(chengxuyifeiyuan),作者:程序亦非猿

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 跨平台技术演进及Flutter未来

    移动互联网发展十余年,伴随着 Android、iOS 等智能手机的不断普及,移动端已逐步取代 PC 端,成为兵家必争之地。正所谓“得移动端者得天下”,移动端已成...

    程序亦非猿
  • 使用 Android Studio 进行 Flutter 开发

    本文将与你一起回顾如何在 Android Studio 里进行 Flutter 工具的配置。

    程序亦非猿
  • 深度 | Android 整体设计及背后意义

    架构的工程意义在于:定义并解决一类问题,为需求到实现的平稳过渡提供保障。传统意义的Android架构(图1)已被人熟知,但不同角色的视角不同,例如认为Runti...

    程序亦非猿
  • 「解决方案架构」解决方案架构概述

    解决方案架构是定义和描述在特定解决方案上下文中交付的系统架构的实践,因此它可能包含对整个系统或仅其特定部分的描述。解决方案架构的定义通常由解决方案架构师领导。

    首席架构师智库
  • 我是庖丁,<肢解IOT平台>之物模型

    物联网平台通过定义一种物的描述语言来描述物模型,称之为 TSL(即 Thing Specification Language),采用JSON格式,您可以根据TS...

    sanshengshui
  • 【Unity游戏开发】SDK接入与集成——小白入门篇

      通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地...

    马三小伙儿
  • 聊聊2016年的人生

    不过,有一件事一直没进展,觉得比较愧疚,那就是写书的事。博文视点的[永恒的侠少]很早就找上了我,邀请我写一本关于App架构方面的书,我也答应了。但一直因为各种原...

    Keegan小钢
  • Now in Android | 12 月刊 · 2019

    欢迎大家来到 Now in Android 栏目,本栏目将专注于为开发者们提供近期值得关注的 Android 开发热点内容。

    Android 开发者
  • Android O 行为变更官方指南

    Android O 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更。

    Anymarvel
  • 数据架构:从AT&T到青海移动的多租户数据整合实践

    在数据库的世界里,我们经常面对的一个现实就是:分久必合,合久必分。大多数企业都在这样一个轮回中不断革新。比如国内的银行,早期多数是按省市分布式布局,随着技术发展...

    数据和云

扫码关注云+社区

领取腾讯云代金券