總結一波安卓組件化開源方案

摘要

爲了讓你們能快速對android組件化有個總體的認識,本文將從多個維度對目前網上一些有表明性的開源組件化開發方案進行對比,從而更好的區分各組件化方案的特色,快速選擇適合本身使用的方案深刻學習並使用,在面試中被問到時也能作到心中有數。java

前言


android平臺上組件化開發的概念近兩年很是火熱,有些同窗反映在面試中被問到的頻率也很高。android

目前網上關於組件化開發方案的文章、開源庫比較多,讓不少初學者感到迷茫,不知該從何處入手,難以肯定自身的業務特性適合使用哪一種框架,若是所有都學習一遍成本比較高,並且在學習過程當中容易將各方案的一些特性記混淆。git

爲了讓你們能快速對android組件化有個總體的認識,本文將從多個維度對目前網上一些有表明性的開源組件化開發方案進行對比,從而更好的區分各組件化方案的特色,快速選擇適合本身使用的方案深刻學習並使用,在面試中被問到時也能作到心中有數。github

因爲篇幅及我的精力所限,只選取了比較有表明性的幾個組件化方案進行比較,對比內容中若有謬誤之處,歡迎你們指正,能夠在評論中留言或者提issuepr給我,和我一塊兒完善更多組件化方案的對比,下降開發者學習組件化技術的難度。面試

持續更新中,歡迎watch、star安全

對比表


markdown語法對錶格支持的不太友好,爲了方便查看,下面貼出對比表的截圖,具體的表格見githubmarkdown

👉手機上圖片顯示不清晰,請點擊此處看大圖架構

android組件化框架對比圖

表格中框架的相關連接


序號 名稱 相關文章
1 CC wiki

CC框架實踐(1):實現登陸成功再進入目標界面功能

CC框架實踐(2):Fragment和View的組件化

CC框架實踐(3): 讓jsBridge更優雅
2 獲得DDComponentForAndroid Android完全組件化方案實踐

組件化設計思路 淺談Android組件化

原理解釋文章Android完全組件化方案實踐

demo解讀文章Android完全組件化demo發佈
3 ModularizationArchitecture Android架構思考(模塊化、多進程)

ModularizationArchitecture 使用教程
4 阿里ARouter 開源最佳實踐:Android平臺頁面路由框架Arouter
5 聚美組件化方案Demo
(基於聚美Router)
聚美組件化實踐之路

Router:一款單品、組件化、插件化全支持的路由框架
6 ActivityRouter ActivityRouter路由框架:經過註解實現URL打開Activity

經過 URL 打開 Activity

其它比較有特點的組件化方案簡介


  • 51信用卡路由方案OkDeepLinkapp

    曾經在做者的github帳號上開源,現已刪除,做者在博文中提到後續2.0版會放到公司的github帳號上,但一直未發佈。 這裏有個fork版本框架

    這個方案中使用aspectJ來實現路由表的自動註冊,與其它方案不太同樣,不過此方案的做者也打算廢棄這種方式,理由是aspectJ仍是過重了

    這個方案文章中還提到了關於路由安全的措施,其中有使用URL中加簽名的方式來屏蔽非法訪問,相似於客戶端鏈接服務端的http請求對參數進行加密校驗

  • 組件總線方案ModuleBus

    介紹文檔:組件化開發跨module交互方式---ModuleBus交互

    這個方案的特別之處在於其借鑑了EventBus的思想,組件的註冊/註銷和組件調用的事件發送都跟EventBus相似

  • 美柚路由方案RouterKit

    這個方案的特別之處在於其組件自動註冊的方案:經過apt生成每一個module的路由表,而後複製到app的assets目錄,運行的時候遍歷asset目錄,反射對應的activity

  • 其它(歡迎給我提issuepr補充!)

一點補充

Android組件化之(路由 vs 組件總線)

相關文章
相關標籤/搜索