Weex:JS&Web能力拓展万物互联的探索

Posted WOT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Weex:JS&Web能力拓展万物互联的探索相关的知识,希望对你有一定的参考价值。

2016年8月26-27日,由51CTO.com主办的【WOT2016移动互联网技术峰会】在北京粤财JW万豪酒店隆重召开。自2012年以来,WOT品牌大会秉承专注技术、服务技术人员的理念已经成功举办十一届,不仅积累了大量的专家资源,更获得广大IT从业者和技术爱好者的认可和好评,并成为业界重要的技术分享及人脉拓展。

本次【WOT2016移动互联网技术峰会】分为10大技术主题,分别是应用架构、平台技术、创新技术、VR技术、前端技术、性能优化、直播技术、运维与安全、数据分析、APP技术专场。51CTO.com作为本次大会的主办方,将通过快速报道、现场专访与后期视频等多种形式,向广大用户全方位展示这场技术盛宴。

下面是大会主会场上来自淘宝移动平台的基础平台部负责人吴志华老师带来的主题为《Weex:JS&Web能力拓展万物互联的探索》的演讲实录。


在阿里巴巴从准备开源到现在一共8个月,这期间业界有很多声音。我们在这个项目当中遇到了大量的一个技术的挑战,以及大量的问题。在开源当中有很多心路历程,接下来和大家一一说下。

关于Weex主题分五个部分。第一部分,介绍Weex这个项目是什么,有什么特点;第二点,对于阿里巴巴来说为什么要做Weex这样一个项目,基于行业的技术趋势思考是什么,以及与阿里巴巴的无线技术有什么关系;第三点,是大家比较关心的Weex项目,在阿里巴巴应用的情况和落地的实践是怎样的。接下来我谈一谈Weex作为一个对外的项目,今天在开源生态上面,开发者服务方面我们做什么事情,取得了怎样的成绩?

我全名就是吴志华,花名是天施。个人经历,我一直在做移动的基础技术,我负责的团队就是阿里巴巴移动基础技术平台,包括整个阿里巴巴网络的接入,双11流量是团队在做。移动网络接入,以及网络的消息中间件的问题,还有整个集团推送和移动端数据采集。

我们对于Weex有这样一个定义公式,这个公式两个含义。Weex这样一个公式把模板Weex,JS输入进来得到一个UI,这就是彻底以提倡的方式开发。

我们的官网有三个特点,非常轻量级,可扩展和高性能。左边是Weex代码一个样式一个写法,看起来比较的普通。这样一个技术的框架有两个特点,写一份Weex代码,就可以在android,H5通用,以后还可以在更多的设备端通用。

看一下Weex为什么是web以外方式开发H5 APP呢?首先,写完代码和前端代码以后,用工具扫描,这个就是在手机上看到一个效果。编写一些代码,就可以生成实时电商一个页面的的效果,其他页面也是可以的。

无论是首页,还是微淘,都全是Weex来支撑,各种大促活动,3月的活动,6.18的活动,都是使用Weex, Weex也是给大促带来了一些效果,在体验上有很大的提升。今天阿里内部很多的APP,基本上都是用Weex。

前面简单地介绍一下Weex是什么?接下来讲讲,我们为什么做这样一个项目?今天实际上就是把外部的优秀的前端一些工程和技术能力可以扩到手机端。未来是什么样子?我们相信未来一定是通过大家努力,可以把今天前端优秀一些工程和技术能力可以弄到各个端。

Weex一个起源,有个非常大的原因,对于开发者来说,设备的平台兼容性,还有分裂性,已经对开发者造成很大的困难。包括信息孤岛的问题,低端机适配的问题,性能优化的问题,我们开发者就是在三个方向做大量的一些投入,投入大量一些精力。今天创业整个大环境和背景下,快速变化业务,快速跟随业界一个趋势变化有极大一些要求。业界其实在这个时间上就受平台分裂一个困扰比较多。所以,这个点上,我们觉得Weex这样一个方案,可以解决APP高大小的问题,兼容性的问题。

这也是我们想为什么推出Weex的初衷。这个项目就是阿里巴巴基于自己移动客户端的技术,还有H5的技术,还有追求动态化技术,自然而然一个结果。14年的时候,我们集团所有的业务开始把它的业务做进手机淘宝里。大概有上百个团队协作,我们考虑代码怎么去隔离,大家之间相互工程的协作怎么办,相互之间代码,自己开发独立客户端代码,天猫代码怎么集成到手淘里面来,我们提出几个概念,就是容器化怎么做?解决隔离性,工程持续集成问题。今天这么多人一起弄的时候怎么快速发现和修复呢?

这个时候给业界提出了热修复这样一个概念,后面就是动态部署。我们应该就是中国最早实现动态部署的一个超级APP,也就是去年年初的时候实现了动态部署,整个Android客户端也是可以的。今天手淘下面的一个超级APP一个大的技术团队,我们接近150多位架构师。而这样做的一个技术的操作系统,不仅仅是支撑电商,也是支撑整个集团所有的APP。

过去有很多技术,都做了移动网络的一些解决方案,甚至我们大数据的一些采集Weex这个项目的开始,在阿里巴巴内部就是开源的,所有的同学都会为他去贡献代码以及提供意见。慢慢地,Weex项目经过8个月,阿里巴巴内部不仅成为一个技术项目,是成为一个技术生态。

阿里巴巴内部谈技术,除了客户端这一条线以外,H5这个线路不能不提的,H5这个线路非常核心一个场景,就是大促会场,双11会场。刚刚开始的时候提一个概念,双11要无线化,这个时候承载就是H5页面,跟业界方案几乎是一样的,我们H5方面没有做特别的优化。14年以后,这个性能对消费者体验有很大的影响。希望双11有一些互动的场景、游戏,能够给消费者很好的一个体验。我们提了预加载,离线缓存,网络上面做了很多的优化。还有主会场的Weex。不满足与做一个单独会场一个页面,我们把它做到一超级APP,去年有几百个,今年会更多。每一个会场就是几百个,几千个页面。我们要设计复杂的一些会场的框架,会场的APP的生命周期的管理。这个里面有互动游戏的狂欢,都有用到Weex的技术。

13年到16年,我们Weex客户端发展,这个是Android。去年发了500多个版本!平均一天发1到2个版本,我们有Weex以后,我们可以做什么事情?Weex既可以做到H5灵活性,可以做到好的体验性能,哪怕苹果也是承认它的合法性。

阿里一年会场的秒开率变迁,没有做过H5的秒开率是非常糟糕的。经过我们做优化以后,可以离线缓存了,即便这样,一到特殊场景下还是有解决不掉的难题。到了今天Weex,秒开这一块有很大的优势。而且,内存CPU占用,原生客户端体验上面有很大的优势,这个页面跳转,还有动画都是有优势的。

这是阿里巴巴动态化几个探索路径,刚刚开始是H5,后面通过远端计算编排丢到客户端,动态渲染。到了今天,我们提一个概念,就是Weex。

Weex对阿里巴巴带来的一个价值什么样子?首先在技术层面上提供了很大的价值,为什么这么说呢?业界更新到60%,Android需要一个月,苹果一周,Weex是一天。一个代码,开发团队带来大量生产力提升,我们可以节省50%的人力,可以提升50%的开发效率。到现在为止解决了所有Android低端机一些问题。

超级APP一个困境,我是做超级APP的。前两年讲这个包太大,性能稳定性包括多版本,手机的兼容性很难做,投入大量的一些人力和物力一些成本,业务这一块儿在中国互联网不停地做业务加法,不可能让业务不变化,看一下淘宝,支付宝,也是非常的庞大。不说这样一个包的大小和代码规模,大量用户消费者下载这个APP体验的问题,还有内部一些大量的工程协同的一些问题都无法解决。

我们看一个现实,在座有没有做微信的?甚至其他的一些超级APP的?已经玩儿不下去了,支付宝也是一样的,怎么办?不可能不让业务做加法吧?Weex获取就是一剂良方,我们的整个Android这一块,加上1.9兆,Android代码460K,ios600K,包大小呢?扩展一些需要自己的组件。同时,我们可以给你提供一些按需打包能力,打包想要一些组件,打包想要H5一些组件。性能稳定性这一块儿,Weex今天是一个标准的输入和输出内核,这样一个标准内核里面我们做专门内核性能一些定制优化。我们会做最佳实践,我们来约束开发者,我们可以Weex比一般的水平,这个是目前实践一个结果。

目前,开发效率也是会更高。业务上更开心了,可以在线更新。还有稳定性和内核的研发和保障机制。甚至内核需要一些能力,以及VR这方面的能力。甚至我们的数据可视化一些能力。

Weex在阿里巴巴业务上面带来一些收益,从去年到现在快一年了。包括大规模实践,推进过程当中得到一些数据,我们页面的点击率就是提升5%,这里说一个数据,就是针对我们过去优化到极致的H5页面,就是我们的离限缓存,预加载,网络优化,UC浏览器,没有加就更好,10%到20%,点击率提升5%,我们页面跳失率减少5%,我们比普通H5页面快4倍。因为前端框架这一块,数据传输这一块,还有图片这一块做了大量的一些优化,我们数据其实就是比H5更小10倍。

Weex在阿里巴巴业务上面一个收益,这个是阿里巴巴手淘的第二个。以更好的内容和更好的表现形式给消费者,更容易被结构化,被大数据所驱动,去线上做一些测试以及更容易个性化一个推荐。

谈一些未来的一个展望。先说一下近期到中期的,我们对自己有一个目标,就是8到12个月以后,所有的阿里巴巴APP都是用到Weex上面。为了做到这个事情,光靠我们这个团队很难的,这个团队相当于做一些基础的平台,包括内核,前端工具一些开发工作,我们还有很多的一些不太擅长。就是让兄弟团队合作伙伴,甚至我们的社区生态一些伙伴一起做。我们的UI库,我们一些体系,还有我们的互动能力。还有数据可视化,还有业务上面一些搭建平台怎么做,大量工作需要这个团队做。还有内核上,整个内核一些能力,还有内核能力拓展,我们应用一个框架。我们的整个内核稳定性,还有性能,研发机制,整个的一些升级能力。还有自愈机制都需要团队的支持。

谈到最后,我们对自己有这样4句话。第一,拥抱开源,回归生态,万物互联,技无止境。阿里巴巴就是一个拥抱开源一家公司,技术体系,技术生态构建过程当中从源当中收获很多。我们在做Weex这个项目的时候,其实一开始的时候内部有很多的讨论。刚开始在想,Weex解决自己的问题就够了吗?后来我们决定把Weex开源给业界,这个就是想捐给基金会。我们是这样考虑的,Weex这个项目在阿里巴巴移动互联网上面为数不多的做生态,就是外部开发者力量完善我们非常重要的一个项目。我们也是认为这样一个项目可能就是中国的,我们自己认为,可能就是中国的移动互联网为数不多的可以做生态,做开发者项目的一个项目。所以,我们是想完全彻底地开源出去,Weex不仅仅通过业界大家一致的努力。不仅仅是一个移动端一个跨平台一个解决方案。希望大家努力,可以成为一个万物互联的解决方案。

以上是51CTO.com记者从【WOT2016移动互联网技术峰会】一线为您带来的精彩报道。一大波精彩内容报道正在袭来,敬请持续关注!


WOT  一个有逼格的高端技术峰会品牌

长按,识别二维码,加关注
点击关注我关注我哟  




以上是关于Weex:JS&Web能力拓展万物互联的探索的主要内容,如果未能解决你的问题,请参考以下文章

Weex:满足万物互联的移动端技术解决方案

行业报道|Weex:志在满足万物互联的移动端技术解决方案

Weex背后的大咖 | 天施 告诉你Weex的前世今生和未来之路

Weex:一个志在满足万物互联的移动端技术解决方案

Weex 在双11会场的大规模应用

阿里移动11.11 | Weex 在双十一会场的大规模应用