返回 登录
0

从阿里 Weex 一窥移动技术发展之路

作为奋战在移动开发技术实践内容第一线的从业者以及开源推崇者,在过往四年多的时间里,笔者看到了以 iOS、Android 为主的技术演进,以及对于“一次编码,处处运行”的跨平台开发的不断探索,国内外无数开发者追求着低成本高效率的应用研发目标,并不断实践回馈至开源社区中。在这之中,由阿里巴巴开源的轻量级移动端跨平台动态性技术解决方案 Weex 即是很好的例子。几天前在杭州西溪天堂艺术中心,笔者应邀参加了 Weex Conf,从 Keynote 到两个技术论坛,见识了 Weex 从无到有的技术能力演进、最新进展以及以业务为驱动的实践经验分享,在这里摘取总结分享给大家。

Weex Conf 现场,由阿里高级前端开发专家赵锦江(勾股)主持,屏幕上显示的是 Weex team 成员

上午的 Keynote,我们看到了 Weex 团队实现了 Weex 和 Vue 代码仓库打通的实现,基于 React 标准的 DSL 框架 Rax 的开源,以及用于聚合 Weex 的扩展功能和组件 Weex Market 的到来。同时,还有优美的新 Logo、新 Weex Project 主页

其中,Weex 和 Vue 代码仓库打通,双向官方支持,基于 Weex 场景支持首屏流式渲染、表单双向绑定、多页面实例隔离、更好的 Web 版本、Native Transition 5大特色功能;Vue 核心工具和库全部完成对 Weex 的适配。

而通过 Rax,开发者不仅可以使用 Vue,还可以通过 React 写法构建一个 Weex 应用。Rax 非常轻量,体积只有8kb(gzip+ min),是 React 的1/4,非常适合移动端开发。

Weex Market 则可以有效地解决 Weex 使用中的需求多样性和丰富性问题,并且降低了开发者向 Weex 项目社区贡献成果的门槛,对 Weex 开发者生态的构建起到很好的促进作用。Weex 团队同时推出了与之对应的工具,帮助开发者快速引入、开发及发布插件。


除上述之外,我们更看到了 Weex 从0到1,自诞生到开源建设的发展脉络。阿里资深总监庄卓然(南天)在演讲中回顾了阿里巴巴的移动技术之路,从2014年的容器化框架 Atlas、2015年的网络接入服务 ACCS 到2016年的动态化方案 Weex,从中可窥整个移动开发环境的需求及技术方案演进。在过去一年里,从内测、开源到捐赠给 Apache 基金会开始孵化、GitHub star 过万,Weex 发生了极大的变化,而这与阿里巴巴整体的技术发展以及开源环境密不可分。

阿里资深总监庄卓然(南天)

南天的演讲提炼:

Weex 的过去:移动开发需求的演进

Weex 的成长历程与整个移动技术发展紧密相连,在过去几年里,移动技术发展有着明显的轨迹,自2013年阿里巴巴集团宣布我们进入移动无线战场开始,我们需要解决的第一个问题不是如何让编写代码更快、更好、更简单,而是如何让这么多人同时基于一个项目或 App 进行并行开发。所以在整个2014年,我们最重要的一件事就是 Atlas,在传统的客户端架构中间增加一个容器,用来隔离上层不同业务组件互相之间的依赖。2015年,在这个 4G 技术还没有大规模普及的时候,我们将重心更多地放到了网络上,对进行弱网络问题进行优化,即 ACCS,而这一年,也是 ACCS 第一次在双11会场中大规模地使用。到了2016年,当我们解决了在客户端的并行开发、用户体验,我们希望能够以更开放、更简单的方式,写一套代码能够同时运行在 iOS、Android、HTML5 三端,同时拥有非常好的性能,由此开始了 Weex 的尝试。并在一个相对复杂的环境中,来验证这样一个方案是否能够给予用户很好的体验,减少团队开发的工作量,所以说,Weex 的每一点成长都与技术、业务的发展阶段有着密切、不可分割的联系。

Weex 的未来:移动技术与智能交互的融合

今年在不同场合,很多人都在提一个关键词,就是移动互联网的发展进入了「拐点」,这意味着什么?就是依靠着用户大量地从 PC 往移动端迁移的粗放增长的红利模式已经基本走到了尽头,在未来的业务侧中,我们需要深耕老用户,而不是一味地追求扩大用户群体。在这样的时代背景下,我们所有的技术都是希望去改善这个世界、更好地服务于用户,那么,技术该往哪儿走?就是今年云栖大会上马老师提出新零售、新制造、新金融、新技术、新能源的“五新”,这里面的“新技术”代表着未来技术的三大走向。

  • 新交互:自文本、图片到视频,这里面延展的轨迹是一维、二维、三维,人机交互越来越类现实,未来我们会进入到 VR/AR 的方式,交互将更叫符合现实中的场景,同时不失效,我们将不断地面对如何生产更好的内容及更好的交互方式展现。
  • 新计算:这里的新计算方式更指云计算整体的去向,更好的存储、更好的带宽、更高性能的计算。当然,技术在这里并不是追求更高、更快、更强,而是说这样计算能力的背后,能够真正有机会将我们所处的世界数字化。
  • 新智能:今年以 Google AlphaGO 为代表的各种人工智能崛起,从科研进入了应用阶段,势必会对我们的业务、生活带来很多影响。而这样的影响正式因为我们能够有更庞大的数据去驱动智能的持续发展。

从2016年年初至今,VR/AR、直播、人工智能兴起,React Native、小程序带来的跨端流行,笔者一直很疑惑移动技术的发展究竟将何去何从,为此请教过很多专业人士。而从 Weex 框架的演进我们可以显然地窥见,智能技术为移动开发带来了更多的可能性。据 Weex 团队成员透露,手淘直播采用的正是 Weex 框架,而对于 VR/AR 业务支撑的实现正在研发中。


而在阿里资深无线技术专家吴志华(天施)的分享中,从最初的 Android、iOS 到 VR/AR 能力的具备,我们可以看到 Weex 整个技术体系基于阿里生态业务的构建,以及如何让业务开发获得最高效率及优秀的工程能力。

在2016年,Weex 主要做了这样四件事:

  1. 真正将 Web 工程体系与 Native 内部打通;
  2. 更多能力增强及扩展;
  3. 永不停歇地进行性能优化;
  4. 借助于大量业务、活动、双11节点,让整个 Weex 研发体系与支撑变得更加完善。

一直以来,性能都是横亘在我们面前的一大问题,Weex 已经能够做到 CPU 在闲时 0%,高峰 10%-30%,笔者此前曾拜读或观看过 Weex 团队在这方面的分享。在下午同时还有业务实践、技术实战两个分论坛,主要包含了 Weex 在双11大促中的实践及底层技术的探索,遗憾同时进行并没有尽听,不过现在官方视频已经放出,感兴趣的朋友可以点击链接观看(技术实战业务实践)。

相关资源:

  1. Weex 在双11会场的大规模应用》,作者:徐凯(鬼道) 阿里高级前端开发专家
  2. Weex 移动端动态技术探索和实践》,讲师:杨胜涛 阿里巴巴 Weex 团队 iOS 工程师

了解最新移动开发、VR/AR 干货技术分享,请关注 mobilehub 微信公众号(ID: mobilehub)。

mobilehub

评论