Atlas 由阿里巴巴移动团队自研,以容器化思路解决大规模团队协作问题,实现并行开发、快速迭代和动态部署,适用于 Android 4.x 以上系统版本的大小型 App 开发。
该框架于2017年3月13日正式开源,源码:alibaba/atlas
开发者指南(视频教程):开源Android容器化框架Atlas开发者指南
**项目背景
**
随着手机淘宝业务的快速增长,协作研发团队的不断扩大,技术也面临着更多挑战:
一方面代码量快速上升导致方法过多,限制打包的正常输出
另一个方面各业务线的开发和集成都需要到一个 apk上,业务间相互耦合严重,集成开发工作效率低下
这个大背景下,急需要做一次从构建、集成、交付的技术改造, 于是Atlas作为手淘运行的容器诞生了,它灵活的解决了各个业务开发期间的相互独立解耦,而且提供了各个模块线上独立动态能力。
Atlas特性
Atlas 适用于大规模团队的协同开发。通过提供组件化、动态性、解耦化的支持,Atlas 能够实现每个业务在开发阶段独立编译、独立调试、独立运行,最后再以一个组件的形式集成到客户端中,每个业务之间并行开发互不影响。此外,还具备客户端动态发版和快速修复的能力。
与业内的一些组件化框架方案对比,Atlas 的优势是遵循安卓系统的设计规范,保持 Android 开发人员的开发习惯,通过反射和轻量的 hook 方案来实现模块的组件化,从而减少适配成本,并将大量的工作放到了编译期,提高稳定性。