天天看點

淘寶開源Android容器化架構Atlas開發者指南

atlas 由阿裡巴巴移動團隊自研,以容器化思路解決大規模團隊協作問題,實作并行開發、快速疊代和動态部署,适用于 android 4.x 以上系統版本的大小型 app 開發。

該架構于2017年3月13日正式開源,源碼:alibaba/atlas

**項目背景

**

随着手機淘寶業務的快速增長,協作研發團隊的不斷擴大,技術也面臨着更多挑戰:

一方面代碼量快速上升導緻方法過多,限制打包的正常輸出

另一個方面各業務線的開發和內建都需要到一個 apk上,業務間互相耦合嚴重,內建開發工作效率低下

這個大背景下,急需要做一次從建構、內建、傳遞的技術改造, 于是atlas作為手淘運作的容器誕生了,它靈活的解決了各個業務開發期間的互相獨立解耦,而且提供了各個子產品線上獨立動态能力。

atlas特性

atlas 适用于大規模團隊的協同開發。通過提供元件化、動态性、解耦化的支援,atlas 能夠實作每個業務在開發階段獨立編譯、獨立調試、獨立運作,最後再以一個元件的形式內建到用戶端中,每個業務之間并行開發互不影響。此外,還具備用戶端動态發版和快速修複的能力。

與業内的一些元件化架構方案對比,atlas 的優勢是遵循安卓系統的設計規範,保持 android 開發人員的開發習慣,通過反射和輕量的 hook 方案來實作子產品的元件化,進而減少适配成本,并将大量的工作放到了編譯期,提高穩定性。

繼續閱讀