Atlas 由阿里巴巴移动团队自研,以容器化思路解决大规模团队协作问题,实现并行开发、快速迭代和动态部署,适用于 Android 4.x 以上系统版本的大小型 App 开发。

该框架于2017年3月13日正式开源,源码:alibaba/atlas

开发者指南(视频教程):开源Android容器化框架Atlas开发者指南

**项目背景
**
随着手机淘宝业务的快速增长,协作研发团队的不断扩大,技术也面临着更多挑战:

一方面代码量快速上升导致方法过多,限制打包的正常输出
另一个方面各业务线的开发和集成都需要到一个 apk上,业务间相互耦合严重,集成开发工作效率低下
这个大背景下,急需要做一次从构建、集成、交付的技术改造, 于是Atlas作为手淘运行的容器诞生了,它灵活的解决了各个业务开发期间的相互独立解耦,而且提供了各个模块线上独立动态能力。

Atlas特性

Atlas 适用于大规模团队的协同开发。通过提供组件化、动态性、解耦化的支持,Atlas 能够实现每个业务在开发阶段独立编译、独立调试、独立运行,最后再以一个组件的形式集成到客户端中,每个业务之间并行开发互不影响。此外,还具备客户端动态发版和快速修复的能力。

与业内的一些组件化框架方案对比,Atlas 的优势是遵循安卓系统的设计规范,保持 Android 开发人员的开发习惯,通过反射和轻量的 hook 方案来实现模块的组件化,从而减少适配成本,并将大量的工作放到了编译期,提高稳定性。

淘宝开源Android容器化框架Atlas开发者指南相关推荐

  1. 开源Android容器化框架Atlas开发者指南

    课程介绍 随着手机淘宝业务的快速增长,协作研发团队的不断扩大,技术也面临着更多挑战:一方面代码量快速上升导致方法过多,限制打包的正常输出:另一个方面各业务线的开发和集成都需要到一个 apk上,业务间相 ...

  2. 滴滴开源Android插件化框架VirtualAPK原理分析

    概述 滴滴出行公司的首个对外开源项目 - VirtualAPK.地址:github.com/didi/Virtua- 滴滴自行研发了这款插件化框架,功能全面.兼容性好,还能够适用于有耦合的业务插件,这 ...

  3. Atlas:手淘Native容器化框架和思考

    在刚刚过去的云栖大会上,手淘宣布其移动容器化框架Atlas将于2017年年初开源,对这个框架,在过去团队对外部做过一些分享,外界也一直对其十分关注,到现在它终于即将开源了. 本文将介绍Atlas的设计 ...

  4. Atlas:手淘Native容器化框架和思考-玄黎

    在刚刚过去的云栖大会上,手淘宣布其移动容器化框架Atlas将于2017年年初开源,对这个框架,在过去团队对外部做过一些分享,外界也一直对其十分关注,到现在它终于即将开源了. 本文将介绍Atlas的设计 ...

  5. TBSchedule淘宝开源定时任务调度框架(附客户端源码demo)

    淘宝开源定时任务调度框架 下载TBSchedule源码svn地址:code.taobao.org/p/tbschedule/src/trunk/ 内容包括两部分:TBSchedule源码及开发依赖包t ...

  6. 淘宝商品详情平台化思考与实践

    淘宝商品详情平台化思考与实践 该文章来自阿里巴巴技术协会(ATA)精选集,(部份整理自<Detail2.0总体方案-20140818>) 1.    现状背景 Detail当前的问题可参见 ...

  7. 淘宝开源Key/Value结构数据存储系统Tair技术剖析

    原文地址:http://www.infoq.com/cn/articles/taobao-tair 今天无意中看到Tair这个东西,跟Redis有点类似,Tair的设计思想有些是值得学习的. Tair ...

  8. 社区热议淘宝开源的优化定制JVM版本:Tabao JVM

    9月18日,淘宝核心系统部专用计算组的王峥(花名:长仁)在微博上宣布: \ \ jvm.taobao.org上线,开源基于OpenJDK vm的优化定制JVM版本:TaobaoJVM \ \ 在jvm ...

  9. 支付宝客户端架构解析:iOS 容器化框架初探

    前言 由本章节开始,我们将从支付宝客户端的架构设计方案入手,细分拆解客户端在"容器化框架设计"."网络优化"."性能启动优化"." ...

最新文章

  1. 如何看待Spring下单例模式与线程安全的矛盾
  2. 【译】Celeste 手感的 10 个设计细节
  3. 【Core】当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置...
  4. VC++2010配置使用MySQL5.6
  5. nvprof 使用记录; 以及使用 nvprof 查看tensorflow-gpu 核函数运行记录
  6. 【笔记】线性代数的本质
  7. Redfish 的版本怎么看
  8. python爬虫网络库下载_Python3 DHT 网络磁力种子爬虫
  9. PLSQL使用ODBC导入EXCEL时DSN无下拉选项
  10. 软件无线电原理深入解析
  11. 含蓄的告别,google今日LOG
  12. 什么是L2行情接口?
  13. Android Studio 之万恶 gradle
  14. 快速实现M5311 NBIOT TCP通信
  15. Rust 正则表达式 Regex
  16. 《Thinking In Java》作者:不要使用并发!
  17. 服务器负载过高的处理方式
  18. 2021高性价比蓝牙耳机榜单,学生党最爱五款平价蓝牙耳机分享
  19. 面向对象编程三种特性
  20. 【HTML】HTML5给网页音频带来的变化

热门文章

  1. Java程序员从笨鸟到菜鸟之(七十二)细谈Spring(四)利用注解实现spring基本配置详解
  2. 从古希腊神话说起,讲讲英语里的偏旁部首
  3. 概率统计:第四章 随机变量的数字特征
  4. SIFT原理与源码分析:DoG尺度空间构造
  5. GitHub上一些有用的Repositories
  6. 压缩跟踪Compressive Tracking
  7. strcpy和memcpy的区别 | strcpy和strncpy的区别
  8. 仿LordPE获取PE结构
  9. 2017.12.19 白盒测试作业第四次小组例会
  10. juniper路由器主备路由引擎主机名配置