【AAC 系列一】Android 應用架構新時代來臨!

0. 序言

本文是深刻理解 Android Archicture Components(AAC) 系列文章的開篇。html

在 2017 年,Android 推出了 Android Jetpack,它是新一代組件、工具和架構指導,旨在加快 Android 應用開發速度。前端

Android Jetpack 分爲四大塊:Architecture、UI、Foundationy 以及 Behavior,隨着時間的增長,Android 團隊在 Jetpack 又增添了許多組件,目前最新的版圖以下。android

注意:2019 I/O 以後 Jetpack 又多了 CameraX 等,圖中還未包含。git

image.png

(圖1-Android Jetpack)github

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 應用的架構,各個組件組織起來,以下圖:
markdown

image.png

(圖 2-Android 應用新架構)


每一個組件都關注本身的事情,互不干擾,讓咱們的應用更加解耦且職責清晰。

爲何我說 Android 應用架構新時代來臨?

由於,這彷佛是 Android 團隊第一次官方推薦一種 Android 應用架構,在這以前,Android 應用開發一直沒有什麼官方主導推薦的架構。咱們作開發,也一直都是比較隨意的,好比 MVC、MVP 甚至是 前端的 Flux 類型的架構都有在 Android 上被應用。而這一次一會兒這麼多牛逼的架構組件,再加上官方架構指導,能夠稱得上 Android 應用架構新時代來臨了!

3. 小結

很顯然了,架構組件對於咱們來講具備很是大的實戰價值,咱們必須去了解並學會它們!架構

架構組件 如此NB,咱們應該如何更好地使用它們呢?

它們背後的原理是什麼樣子的呢?

不要着急,船長後續會寫一些列文章,來帶你們一塊兒學習一下這 NB 的架構組件!
ide

我創建了一個免費的星球來玩,歷來沒有對外宣傳過,歡迎來玩。工具

免費加入、免費、免費。

公衆號:程序亦非猿

4. 參考與推薦

jetpack官網:developer.android.com/jetpack
YouTube 系列:www.youtube.com/playlist?li…
Jetpack 發佈介紹:googledeveloperschina.blogspot.com/2018/05/and…
架構指南:developer.android.com/jetpack/doc…
App實戰指南:github.com/googlesampl…

相關文章
相關標籤/搜索