今天,开源软件托管平台github上的阿里巴巴主页又增加了一个新项目:Atlas。Atlas意指巨人,它是Google闻名遐迩的波士顿机器人的外号,也是手机淘宝团队的移动容器化框架的代号。在去年的云栖大会上,阿里巴巴资深技术专家倪生华宣布将于2017年初开源Atlas,现在这个承诺终于兑现了。 Atlas开源解决了移动开发者什么痛点? 2013年马云发表公开信宣布阿里巴巴“All in无线”战略,之后手机淘宝App的业务规模也迎来了爆发式增长,据阿里巴巴所公布的数据显示,2016年第4季度阿里零售业务移动端月度活跃用户数已达到4.93亿。 为了应对暴增的业务,手机淘宝开发团队规模在2013年迅速从100人增加到500、600人。当时打造一个能够迎合指数级增长的业务以及千人级协作的移动框架就成为手机淘宝技术团队的燃眉之急,Atlas应运而生,它基于手机淘宝客户端的基础框架重构而来,提供组件化、动态性、解耦化的支持。 随着互联网公司业务进入成熟期,大多数公司都拥有App矩阵,不同团队需并行开发,且不断有新的App需要开发。同时运营在移动互联网中正扮演越来越重要的角色。因此如何实现多团队并行、敏捷开发,同时能在不影响用户和业务的情况下满足运营端的频繁更新需求,就成为移动App开发者的痛点。相对于市面上已有的移动框架而言,Atlas可在工程期、运行期、运维期起作用。工程师可在一款App的工程编码期、Apk运行期和后续运维期修复各种问题,而不会对业务造成影响,事实上,早在2014年,手机淘宝技术团队就向业界分享过Atlas,Atlas也是业界起步最早的移动端动态化、组件化和容器化框架的开源方案。 具体来说它有这些特点: 1、兼容性强确保业务稳定运行:将更多工作放到编码期,且在运行期提供类隔离等机制,可以保证业务稳定,整个手机淘宝的crash率维持在万分之五左右,同时兼容性强,支持4.0以后的所有系统版本,适配所有市面上的机型。 2、动态更新能力强,限制较少:通过组件化的分层设计,确保客户端无发版也可更新。手机淘宝是一款重运营的App,节假日活动运营都会改变页面结构甚至菜单图标,但用户并不需要升级App就会看到全新界面,这种动态更新能力正是基于Atlas框架而实现的。 3、支持规模协作和敏捷开发:Atlas拥有快速迭代能力,手淘自身超过60+业务组件、20个协作团队,以及百万行级别代码都在Atlas上运行,且可以做到随时发布,过去半年发布446次,平均每天2.4次。 4、适用于不同规模的App:阿里巴巴旗下有几百个业务,不同业务还处于不同周期,直播,因此规模也完全不同,而Atlas是一个轻量级的框架,同时支持大小型App开发。 5、提供相对完整的能力:不同组件提供完成的底层能力,业务层的开发具有充分的自由度,且只需关注业务本身即可。 从Atlas特点来看,它的开源具有重大意义。不论什么规模的安卓App均有可能受益于它,基于这一底层框架可以大幅降低开发者工作量进而聚焦于业务本身,业已被手机淘宝验证成功的多团对协作、客户端动态更新等能力也可为App开发者所用,可以说Atlas开源对移动开发者社区来说是一个大事。 阿里移动开源三驾马车即将成型? 由于阿里巴巴是从PC时代成功转型移动的巨头,因此其过去的开源并没有突出移动二字,直播,反而是集中在数据库、服务器端、中间件等领域。随着阿里巴巴移动转型成功,阿里在移动端的技术实力也在日积月累。阿里是中国唯一一家拥有移动操作系统的公司,YunOS的设备数量已破亿,阿里移动端的技术实力随着业务移动转型的成功而与日俱增,现在它正在积极将这些能力开放出来。 除了日前开源的Atlas之外,阿里移动去年年中还开源了Weex。Weex是便于开发者构建跨平台UI的前端开源框架,其被应用在手机淘宝、天猫等多个阿里App中,双11数千个会场、产品和商家风格迥异的页面能够流畅展示,背后正式Weex在渲染。Weex一经开源就受到开发者的追捧,2016年12月15日,阿里巴巴宣布将Weex捐赠给Apache基金会开始孵化,相信Atlas开源之后也可能会被交给国际社区。 之前庄卓然(南天)曾透露,阿里无线技术拥有三驾马车,分别是适于大规模开发的容器化架构Atlas、移动网络通信环境ACCS以及多端移动应用开发环境Weex,阿里移动技术的三驾马车也已经成熟,现在,Weex和Atlas已先后开源,ACCS是否开源还有待观望。 马云在三年前说过这样一段话: “从今天的局势来看,即使无线客户端风生水起,我们依旧应该坚持大力在云上投入。云端(Cloud +App)将是未来移动互联网的关键。” (责任编辑:本港台直播) |