Atlas是古希腊神话中的天神,是波士顿动力公司的机器人,借助搜索引擎,得以发现这个名词背后许许多多的含义。在手机淘宝,Atlas是一个扎根于Android客户端的一个组件化容器框架,相比神话中用手和头支撑起苍天的泰坦神族,Atlas在手淘默默无闻地承载着手淘上丰富业务的运行,伴随着数不清的功能在...数据库
Android方向的大牛们都已经深刻了解了插件化所带来的巨大的便利,一直也没时间去搞一套详细的记忆,在这里,仅以源码分析的形式进行插件化框架的巩固,文集中会具体分析源码,框架结构,运行原理等方面,除了加深记忆,也让咱们一块儿进步。安全
随着手机淘宝业务的快速增加,协做研发团队的不断扩大,技术也面临着更多挑战:一方面代码量快速上升致使方法过多,限制打包的正常输出;另外一个方面各业务线的开发和集成都须要到一个 apk上,业务间相互耦合严重,集成开发工做效率低下,这个大背景下,急须要作一次从构建,集成,交付的技术改造, 因而Atlas做为手淘运行的容器诞生了,它灵活的解决了各个业务开发期间的相互独立解耦,并且提供了各个模块线上独立动态能力。服务器
Atlas是什么?负载均衡
Atlas是一个Android客户端容器框架,主要提供了组件化、动态性、解耦化的支持。支持在编码期、Apk运行期以及后续运维修复期的各类问题。框架
Atlas是工程期和运行期共同起做用的框架,它尽可能将一些工做放在工程期,这样保证运行期的简单、稳定。运维
Atlas的总体设计,分为五层:工具
第一层称之为Hack层,包括OS Hack toolkit & verifier,这里对系统能力作一些扩展,而后作一些安全校验。源码分析
第二层是Bundle Framework,就是的容器基础框架,提供Bundle管理、加载、生命周期、安全等一些最基本的能力。组件化
第三层是运行期管理层,包括清单,会把全部的Bundle和它们的能力列在一个清单上,在调用时方便查找;另外是版本管理,会对全部Bundle的版本进行管理;再就是代理,这里就是和业界一些插件化框架机制相似的地方,会代理系统的运行环境,让Bundle运行在的容器框架上;而后还有调试和监控工具,是为了方便工程期开发调试。网站
第四层是业务层了,这里向业务方暴露了一些接口,如框架生命周期、配置文件、工具库等等。
最上面一层是应用接入层,就是的业务代码了。
因此Atlas做为一个框架提供了相对完整的能力,业务层的开发能够在框架生命周期的各个环节作一些自定义的动做,也能够自由的调用系统、框架,乃至其它组件释放的能力
关于开源Android容器化框架Atlas的详细内容:
(本课程主要讲解Atlas框架的使用方法。)
更多精品课程:
阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场)