快捷搜索:  汽车  科技

饿了么免单活动8月18:饿了么双十一 PHA 会场实践

饿了么免单活动8月18:饿了么双十一 PHA 会场实践注:目前安卓最新的官方2.0版本已剥离了这些依赖,大大的赞!iOS端在一接入pha时依赖已基本剥离,无需大的改造。安卓剥离的直接依赖库约20个,如:直播库、公共资源库、ui库、compat库、启动框架库、atlas等,总大小约:7.2M ,涉及文件改动个数:100 饿了么iOS端由于自己维护了图片库,需要对图片加载进行适配,实现PHAImageLoaderProtocol及其图片加载相关方法。淘系依赖剥离饿了么对于包大小有严格的控制,对于新引入的二三方库审核严格。饿了么端接入pha较早,早期版本中存在额外的手淘依赖,且有些功能饿了么暂时未用到,或已有类似的实现方案,因此需要对部分手淘依赖库进行剥离,对不需要的功能进行剪裁。

文字&图片导航栏

下图是light和dark风格的状态栏:

饿了么免单活动8月18:饿了么双十一 PHA 会场实践(1)

饿了么免单活动8月18:饿了么双十一 PHA 会场实践(2)

light&dark状态栏

适配器:图片加载适配

饿了么iOS端由于自己维护了图片库,需要对图片加载进行适配,实现PHAImageLoaderProtocol及其图片加载相关方法。

淘系依赖剥离

饿了么对于包大小有严格的控制,对于新引入的二三方库审核严格。饿了么端接入pha较早,早期版本中存在额外的手淘依赖,且有些功能饿了么暂时未用到,或已有类似的实现方案,因此需要对部分手淘依赖库进行剥离,对不需要的功能进行剪裁。

安卓剥离的直接依赖库约20个,如:直播库、公共资源库、ui库、compat库、启动框架库、atlas等,总大小约:7.2M ,涉及文件改动个数:100

饿了么免单活动8月18:饿了么双十一 PHA 会场实践(3)

注:目前安卓最新的官方2.0版本已剥离了这些依赖,大大的赞!iOS端在一接入pha时依赖已基本剥离,无需大的改造。

2前端接入改造

框架服务

1、源码模版:作为PHA框架的入口,同时提供 PHA 正常加载入口 (native.xtpl) 和降级入口 (web.xtpl)

  • 正常入口:基于平台创建会场框架时录入的数据生成manifest 半成品,结果中包含 AppWorker 地址,创建框架时的配置信息等,客户端执行 AppWorker 文件后,启动PHA框架渲染
  • 降级入口:为不支持PHA的低版本或PHA创建失败时提供统一的降级处理,用普通H5容器打开投放链接中的 downgradeUrl 地址实现降级,保证业务可用

2、AppWorker 服务:能在框架渲染前有机会根据业务诉求定制 manifest,主要提供如下能力

  • 定位、请求底部bar、顶部swiper数据
  • 头部横滑容器的 UI 定制、事件处理
  • 和PHA的事件、消息处理
  • 构建最终的 manifest 文件
  • 启动框架渲染
  • 埋点等

会场链路

1、页面solution、基础util、componet 改造

2、多个模块改造

  • 透明头模块:之前透明头是H5结合Native来实现的,业务定制能力相对较弱,为了解决这个题,针对PHA容器实现了纯H5版的透明头模块
  • 底部导航模块、搜索模块、分享模块:兼容PHA 和非PHA容器

埋点改造

PHA框架提供一套埋点API,客户端和前端需根据自己的埋点方案进行适配改造,统计和上报口径跟非PHA下会场埋点保持一致,主要有以下两点:

  1. 需在每次切换页面时上报PV,包括已经浏览过的页面,如Tab A 切到Tab B 再切到Tab A 时,在最后的Tab A 页面需要触发PV上报
  2. 底部 Tab 或顶部 Swiper 容器切换不同 Item 时上报点击埋点
性能优化

饿了么端pha容器加载流程主要为下图四个阶段,针对不同阶段可进行对应的性能优化手段。

  • pha容器阶段:半成品manifest和worker可进行预取或缓存优化;完整manifest数据请求组装阶段可进行经纬度的预取和接口的预请求;
  • webview阶段:webview可进行预初始化,主文档加载可以用模版化方式进行优化;
  • 业务阶段:针对业务js、css资源可进行资源离线和缓存,对常用js资源可进行内置;对业务接口数据可进行预请求;预热和预渲染。

饿了么免单活动8月18:饿了么双十一 PHA 会场实践(4)

官方PHA框架优化手段

pha框架本身提供了manifest预请求和缓存、html模板化、离线资源存取、内置Js预渲染等优化手段。

以iOS端双十一会场为例,使用manifest和worker预取,优化容器创建时间200ms以上。

饿了么免单活动8月18:饿了么双十一 PHA 会场实践(5)

猜您喜欢: