Weex动态化方案与双十一实践

  • 时间:
  • 浏览:5

降级预案如下:

会场框架性能篇

初始Weex

业务接入

会场框架的本质是2个多 还能能 用来抽象化描述的框架,底部有Tab,里面有导航,里面有可配置的取款,将模板和与之关联的交互逻辑通过预置的办法预置在本地,也没有来太少 我从服务端去请求JS Bundle时,会略过网络请求,仅仅还能能 本地渲染,框架模板与数据分离,模板预加载,数据走投放。

• JS Framework加载时间

双十一会场实践

双十一分为主会场氛围和分会场氛围。主会场分为造势期、预热期、正式期,造势期还能能 保证运营不能实时配置效果,还能能 支持动态可配置性;分会场氛围涉及各个行业,每个行业利益点不一样,氛围还能能 根据业务来定制。其中,动态性、实效性以及加载性能回会难点。

• 首屏渲染时间

2. Inspector,不管Native View Element,还是Dom Element,因为Network和console log。



开发体验(devTools

非Push办法框架Tab还能能 进行切换,滑动流畅,顶部有电梯帮助运营定位到每2个多 楼层,还有搜索框,每个Tab的浏览历史记录要被保存;主会场——分会场——主会场时,交互办法采用Push办法,还能能 持续打开窗口。另2个多 交互办法的难点在于内存治理、前向加载实时性。

会场框架保障篇

AliWeex通用模块或逻辑聚合:包括环境初始化,Weex模块或组件的注册,Weex 渲染主流程,降级判定规则等;一齐,AliWeex实现了规范和标准化治理:适配层协议标准化定义,提供默认的接口实现。包括网络库、图⽚库、性能监控等。

• 资源请求失败错误

Devtools方便亲戚亲戚大家做两件事:

通过压测方案如下:



在这一 基础上,亲戚亲戚大家咋样设计呢?对于主会场另2个多 2个多 特殊模块,采用单实例,从左上角手淘首页进入搜索框主会场,跳转到女装,女装再跳转到男装,男装通过底部导航又还能能 切出主会场定位到必抢页面,此处实际上共用一份实例;当从必抢进入女装会场时,Weex渲染容器数量不超过俩个,保证内存开销可控;前向跳转实时更新,后向返回保存历史记录。

2. Weex页面服务端配置降级。

1. 主链路(首页-店铺-详情-购物车)做一遍操作,让内存缓存占满,记录内存值M0;

2. 定义每个组件;

1. Weex渲染容器降级;

Weex更多的服务于手淘等超大型客户端,在未来的一年中,亲戚亲戚大家还能能 看一遍在集团结构有没有来太少的业务对接Weex。

以下为精彩内容整理:

在特定的场景下,Weex还能能 提供降级的能力,来保障业务。

1. 从整体进行组件化分离;



图中红色标记的是WeexKernel,主要含高UI系统,UI系统含高没有来太少 重要的组件,比如List、Scroller、Slider、Image等15种组件,后续亲戚亲戚大家会进一步扩展组件,一齐还能能 看一遍,在每个Components上还含高生命周期、动画和手势,不能让页面变得更加灵动;基于单个页面有导航Navigator,它不能帮助亲戚亲戚大家进行页面流转;不同页面之间还能能 进行交互,亲戚亲戚大家提供了全局事件的办法;一齐亲戚亲戚大家结合了Network功能,Data Store进行数据存储。

主会场氛围是核心配置驱动(导航栏设置,独⽴tab样式以及URL投放),分会场氛围业务调用NavigatorModule Api,更加灵活。

现在在业务上应用比较多的是Weex页面根据操作系统、应用、WeexSDK版本进行降级。依赖JSFramework的降级能力,在容器渲染的过程中会经过JSFramework的解析构建,在解析回会比对版本规则,因为命中规则即执行降级,反之正常渲染。

在2017年1月12日 Weex Conf 2017上,来自手机淘宝移动平台Weex团队的凝砺结合淘宝实际业务分享了Weex动态化方案和双十一实践,本文先介绍了Weex的整体架构,接着重点分享了Weex在双十一会场上的实践,最后谈及了Weex的业务支撑,包括AliWeex等。

应用级框架下面是Module,功能的扩展。随后 下面做的是整个性能的把控,右侧偏离 为适配层,主没有来太少 我网络层图片库的适配、本地的开发环境等。

会场框架交互篇





Weex分为三层。最上层是DSL,早期这类于html、css、javascript这一 得话的表达,让前端熟悉表达办法构建页面;里面层是Virtual DOM,Virtual DOM工作在Framework的解析引擎上,自上而下驱动底层的三端实现;底层分别架构了IOS、Android、H5的RenderEngine,从整个效果来说,Weex是三端一致的出理 方案,最终各个系统平台上的UI基本上保持一致。

业务支撑中心集中在俩个方面:降低接入成本、优化开发体验、更完善的性能监控体系、更好的页面搭建平台和优化容灾机制。



会场框架氛围篇

3. 重复步骤2,让所有的测试场景页进行压栈;全景图-p1p2p3p4-直播-p1p2p3p4。



Weex是一套高性能跨平台移动开发框架,最大的优势是出理 了频繁发版和和多端研发两大移动开发痛点。一套代码完美适配IOS、Android、HTML5和Web等多端,极大的提升开发时延一齐又保证了用户体验。

2016年双十一会场首次大规模启用Weex,总计淘宝+天猫共1754张会场页面,Weex占比99.6%,约为1747张;在流量最重要的天猫主会场入口,俩个Tab回会用Weex进行实现的,一齐,在天猫和淘宝的分会场,基本做到零降级。

2. 异常或渲染错误的捕获:

上图为延伸的前后端协同图,后端主要帮助亲戚亲戚大家咋样从Weex源文件构建出JS Bundle,经过transformer进行转移,JS Bundle针对的是业务代码,JS Bundle会部署到后端服务器上;前台同样是三端,还能能 实施向后端服务器请求JS Bundle,并运行在JS Framework上,底层的RenderEngine是架构在IOS原生的JSCore,Engine上亲戚亲戚大家用了V8,它会2个多多 双效通道,还能能 通过callJS、callNative来发出指令。

业务支撑

性能监控全部都是点要,还能能 通过数据进行不断的调优,以及异常捕获,具体包括以下两点:

搭建平台

搭建平台步骤分为以下三步:

性能监控

1. 断点调试;

• 网络传输加载时间

• js 运行时异常

亲戚亲戚大家还能能 在会场框架中,一齐加载俩个150坑位的普通页面,2个多 全景图会场页面,2个多 直播会场页面。

1. 性能数据的实时采样:







有了什么工具的辅佐,才有今天双十一顺利的排查问题报告 报告 ,前端不能顺利的定位页面布局。

2. 进入Weex页面,待页面全部加载完成,跳转至下2个多 Weex页;

当然,双十一也并回会一帆风顺,在用Weex设计双十一会场时也遇到了某些困难。大致分为俩个维度:页面交互复杂、氛围设置动态化、秒开与性能、容灾机制。

3. 把组件有机组合起来。

得出结论: