Android 專案開發之元件化知多少?
一. 前言
模組化和元件化的概念已經看的很多,也都不是新的概念了,很多專案也已經使用了模組化和元件化,本文對現有的模組化與元件化分析得比較深入的文章進行整理。
當專案做得業務需求和層級增多,原有的基礎層級已經不能滿足不斷增加的業務需求,程式碼也變得越來越臃腫。元件化將程式碼解耦分層、分而治之。
大致上來說,元件化是指單一的功能元件。目的就是基於可重用的,將一個大系統拆分成一個個獨立的元件。而模組指的是獨立的業務模組,按照業務對專案進行拆分。相對於元件來說,粒度更大。
下面就推薦幾篇大佬們的文章助你弄明白模組化、元件化及外掛化的概念,還有如何應用到專案開發上。
二. 文章系列
1 ofollow,noindex"> Android徹底元件化方案實踐 (注:我是可以點選的哦)
文章對模組化、元件化與外掛化概念進行討論,形象化地讓人記住元件化與外掛化的區別,進而詳細表述如何進行元件化及元件化的步驟。
文章主要通過對“得到app”的專案程式碼進行元件化拆分,設計一套完整的元件化方案。
文章討論了為什麼要元件化、模組化,從業務的角度,講解了為什麼要拆分App業務,如何拆分,以及優點等等。
下圖為元件示意:
下圖為模組示意
可以看出,一個工程由多個模組組成,每個模組由多個元件構成。但有時候,兩者的界限還是比較模糊。
4. 淺談Android元件化
這篇是採訪得到APP的Android 技術專家張明慶老師,瞭解其元件化背後的故事,是對採訪稿的整理。
文中也討論了模組化、元件化和外掛化的區別,以及如何取捨外掛化和元件化,及元件化後的成果。具體如何實現元件化,可參考文章系列的一和二。
這篇文章對於模組化的概念和分層設計,以安居客 Android 端的模組化設計方案為例,給予了深入的分析和闡述。
另外,對模組間通訊框架也給出了設計方案,如下圖:
是不是已經看累了?馬上就可以動手實踐了!
三. 專案實踐系列
此文以安居客公司專案的開發過程為例,闡述了元件化模組化開發的必要性,與文章系列5相對應。
安居客模組化的整體設計如圖:
這篇詳盡地記述了貓眼專案的模組化整個過程,並沒有完全照搬網路上的做法,而是分析對比,採用更適合自己專案的方法。
關鍵設計如圖:
路由架構:
希望這篇元件化開發文集對要做專案元件化的同學有幫助!
正文到此結束了~
等等,先別走! 戳我看詳情 參與活動可以培養自己的好習慣,還能拿到「碼個蛋」IP系列專屬獎品,速度要快...
今日問題:
聊聊在元件化開發路上遇到過的坑?
留言格式:
打卡 x 天,答:xxx。
最後告訴你一個小技巧:
只需3步,你將不會錯過任何一篇文章!