
組件化技術,在 Android 開發中有著舉足輕重的作用,隨著時間推移,軟體專案很多都會變得越來越龐雜,此時,采用組件化技術,對專案進行改造,是一種較優的方案,
要聊組件化,慣例是要談談模塊化的,畢竟它與組件化確實有一些相同點,在組件化的專案中它也會與組件化發生關聯,
什么是模塊化?
模塊化開發,是每個開發者都熟悉的,即將常用的UI、網路請求、資料庫操作、第三方庫的使用等公共部分抽離封裝成基礎模塊,或者將大的業務上拆分為多個小的業務模塊,這些業務模塊又依賴于公共基礎模塊的開發方式,
更宏觀上,又會將這些不同的模塊組合為一個整體,打包成一個完整的專案,
模塊化的優缺點?
優點:
- 復用:首先,基礎模塊,可為業務模塊所復用;其次,子業務模塊,可為父業務模塊,甚至不同的專案所復用,
- 解耦:降低模塊間的耦合,避免出現一處代碼修改,牽一發而動全身的尷尬局面,
- 協同開發:專案越來越大,團隊人數越來越多,模塊化開發可在盡量解耦的情況下,使不同的開發人員專注于自己負責的業務,同步開發,顯著提供開發效率,
缺點:
任憑模塊化做得多么好,還是跳不出是組合在單一專案下的,隨著專案的發展與迭代,模塊化開發漸漸顯現了以下的問題:
- 專案代碼量越來越大
- 業務模塊越來越多
- 團隊人數越來越多
那怎樣解決模塊化開發的這些弊端呢?當然是組件化嘍!
組件化可以說是 Android 中級開發工程師必備技能了,能有效解決許多單一專案下開發中出現的問題,
什么是組件化?
組件,顧名思義," 組裝的零件 ",術語上叫做軟體單元,可用于組裝在應用程式中,
所以,組件化,要更關注可復用性、更注重關注點分離、功能單一、高內聚、粒度更小、是業務上能劃分的最小單元,
組件化的好處
- 加快編譯速度:每個業務功能都是一個單獨的工程,可獨立編譯運行,拆分后代碼量較少,編譯自然變快,
- 提高協作效率:解耦 使得組件之間 彼此互不打擾,組件內部代碼相關性極高, 團隊中每個人有自己的責任組件,不會影響其他組件;降低團隊成員熟悉專案的成本,只需熟悉責任組件即可;對測驗來說,只需重點測驗改動的組件,而不是全盤回歸測驗,
- 功能重用:組件 類似我們參考的第三方庫,只需維護好每個組件,一建參考集成即可,業務組件可上可下,靈活多變;而基礎組件,為新業務隨時集成提供了基礎,減少重復開發和維護作業量,
如何學習組件化?
這里給大家分享一份全網最全的《高級 Android 組件化強化實戰》手冊,手冊分為三個大章節,Android 組件化初識,Android 組件化初探 和 架構演化(大廠篇),最主要的就是第三個章節——架構演化(大廠篇),
需要《高級 Android 組件化強化實戰》手冊可掃描【CSDN官方認證】二維碼,免費領取!

第一章 Android 組件化初識
- 組件化和模塊化的區別
- 組件化和插件化的區別
- 組件化開發的優勢
- 業務邏輯層
- 組件化開發要遇到的問題
- 從組件化實戰來解決問題
- Android 組件化基礎
第二章 Android組件化初探
組件化演示案例
- 概述
- 模塊化和組件化
- 組件化Demo
- 組件application和library動態切換
WanAndroid APP 組件化專案實戰(附demo)
- 簡介
- 版本更新
- 效果圖
- 主要功能
- 專案目錄結構
- 主要開源框架
第三章 架構演化(大廠篇)
組件化作為 Android 客戶端技術的一個重要分支,近年來一直是業界積極探索和實踐的方向,每個大廠內部的各個Android 開發團隊也在嘗試和實踐不同的組件化方案,并且在組件化通信框架上也有很多高質量的產出,
從智行 Android 專案看組件化架構實踐
- 組件化調整的原因和目標
- 組件化架構調整的整體規劃
- 組件化架構調整中遇到的一些問題
- 組件化架構的實踐成果
得到 App
- Android徹底組件化demo發布
- Android徹底組件化—代碼和資源隔離
- 組件化:代碼隔離也難不倒組件的按序初始化
微信 App
- 微信Android模塊化架構重構實踐
- 微信Android架構歷史
- 為何再次重構微信
- 重塑模塊化
- 取舍和選擇
- 代碼之外,架構之內
蘑菇街 App
- 實作方式
- 組件生命周期管理
- 殼工程
- 遇到的問題
- 持續集成
- 周邊設施
愛奇藝 App
- 關于組件化
- 基于Service的IPC通信
- 組件化跨行程通信的核心訴求
- Andromeda
- 架構分析
美團 App
- 外賣客戶端容器化架構的演進
- 美團外賣容器化架構全景圖
- 外賣跨端容器建設
- 外賣頁面容器建設
- 外賣容器化架構的衡量指標
- 外賣容器化架構的監控運維
- 外賣容器化架構的發布能力
美團 Android 組件化方案及組件訊息總線 modular-event 實戰
- 組件化之前的狀態
- 組件化方案調研
- 美團其他團隊組件化方案調研
- 組件化訊息總線框架modular-event
- 組件訊息總線modular-event的實作
- 訊息總線modular-event的結構
- 使用動態代理實作運行時呼叫
- 訂閱和發送的模式
美團 Android 訊息總線的演進之路:用 LiveDataBus 替代 RxBus、EventBus
- 背景
- RxBus的出現
- 引入LiveDataBus的想法
- 為什么使用LiveData構建資料通信總線LiveDataBus
- LiveDataBus的設計和架構
- LiveDataBus最終實作
WMRouter:美團外賣 Android 開源路由框架
- 功能簡介
- 適用場景
- 基本概念解釋
- URI跳轉
- 頁面跳轉來源
- 平臺化與兩端復用
- 通信問題
- 復用問題與ServiceLoader模塊
- 依賴注入
- 編譯問題
- WMRouter的推廣
美團貓眼android模塊化實戰-可能是最詳細的模塊化實戰
- 為什么做模塊化
- 解耦到什么程度?
- 原專案耦合結構
- 準備作業
- 介面的抽離
- 解耦方面的其他作業
- 模塊間/頁面間通信
- lib獨立運行
攜程 App
- 產品
- 無線后端服務架構
- App工程架構
- Native的插件化和HotFix
支付寶 App
- Quinox 簡介
- Bundle 介紹
- 資源管理
- 容器化
Atlas-手淘組件化框架的前世今生和未來的路
- Atlas是什么
- 組件化的誕生
- 解耦和依賴
- 性能的演進
有贊微商城
- 有贊移動應用如何給頁面安上“任意門”
- 有贊微商城-Android組件化方案
- 架構調整
- 實作方案
- Modular-support
- 規劃
篇幅有限,上文只展示內容大綱和部分內容截圖,需要完整版《高級 Android 組件化強化實戰》手冊,可以掃描下方【CSDN官方認證】二維碼,免費領取!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/396181.html
標籤:java









