05.(最终版)手机淘宝 H5 和 Weex 容器的构建实践-云栖-2016-鬼道.key

Similar documents
Hippy-VueConf

ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

可 Web 编程的NativeUI 设计与实现

Microsoft Word zw

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

<4D F736F F D C4EABCC6CBE3BBFAB4F3C8FCCDA8D6AA E646F63>

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

中国软件2013校园招聘通知

四 评 选 时 间 2016 年 3 月 31 日 前, 各 县 区 属 学 校 上 报 到 所 在 县 区 教 育 局, 由 县 区 教 育 局 集 中 统 一 报 送 至 市 教 育 局 电 教 馆 ( 不 接 受 县 区 学 校 单 独 报 送 ) 2016 年 4 月 11 日 -15 日,

南京市人才服务中心

附件9 电梯运行安全监测管理信息平台技术规范 第11部分:系统信息安全技术规范(征求意见稿)

mvc

清华大学2013年毕业生就业质量报告

untitled


本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

引 言 车 队 管 理 应 用 车 联 网 技 术 的 几 个 必 要 条 件 : 1 是 否 支 持 车 机 插 拔 报 警?( 绝 大 多 数 人 潜 意 识 中 对 被 监 控 和 被 管 理 是 抗 拒 的, 我 们 调 查 了 很 多 现 有 车 队 管 理 系 统, 管 理 者 最 头

可 行 性 分 析 报 告 上 海 新 南 洋 股 份 有 限 公 司 ( 以 下 简 称 新 南 洋 或 公 司 ) 拟 向 上 海 交 大 产 业 投 资 管 理 ( 集 团 ) 有 限 公 司 上 海 交 大 企 业 管 理 中 心 上 海 赛 领 并 购 投 资 基 金 合 伙 企 业 (

目 录 第 一 章 调 查 介 绍 调 查 方 法 调 查 对 象 调 查 规 模 调 查 方 式 调 查 内 容 术 语 界 定... 4 第 二 章 报 告 概

目次 

Intruduction to the NGINX stream subsystem and OpenResty's support

一 公 司 特 殊 问 题 问 题 1 关 于 公 司 的 业 务 及 持 续 经 营 能 力 2013 年 度 2014 年 度 2015 年 1-11 月, 公 司 的 营 业 收 入 分 别 为 1,630, 元 699, 元 73, 元 报 告 期 内,

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

Microsoft Word - Web Dynpro For ABAP跟踪测试工具简介 _2_.doc

Avigilon Control Center 6 ACC High Definition Stream Management (HDSM) ACC 6 ( Avigilon Appearance Search ) Avigilon Appearance Search ACC NVR HD Vide

投影片 1

RUN_PC連載_12_.doc

教学简报

B.???N-???????????N?W?h

标题

<4D F736F F D20D5FDB7A8D2ABD1DB20BAE7B9E2CEDECFDE20C7B0D1D4D0DEB8C4342E31332E646F63>

Oracle 4

Adobe AIR 安全性

Microsoft Word htm

实践课堂成都站-0609.key

实 际 上,2012 年 以 来, 移 动 互 联 网 领 域 的 热 潮 已 经 有 所 回 落 从 产 品 创 新 社 区 极 客 公 园 的 跟 踪 数 据 来 看,2012 年 上 半 年 移 动 互 联 网 的 新 生 应 用 数 量 比 去 年 下 滑 了 30% 以 上, 结 合 投


版 權 2014 贊 雲 科 技 股 份 有 限 公 司 版 權 保 護 聲 明 未 經 贊 雲 科 技 股 份 有 限 公 司 書 面 許 可, 本 檔 任 何 部 分 的 內 容 不 得 被 複 製 或 抄 襲 用 於 任 何 目 的 本 檔 的 內 容 在 未 經 通 知 的 情 形 下 可

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

final

PowerPoint 演示文稿

ebook66-15

Internet Explorer 10

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

<4D F736F F D B0EAA5C1A470BEC7A4CEB0EAA5C1A4A4BEC7B8C9B1CFB1D0BEC7B9EAAC49A4E8AED7>

PowerPoint Presentation

財金資訊-83期.indd


Mocat

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

untitled

05 01 X Window X Window Linux Linux X Window X Window Webmin Web Linux Linux X Window X Window Notebook PC X Window X Window module Linux Linux kernel

经华名家讲堂

申 请 者 的 承 诺 : 我 承 诺 对 本 人 填 写 的 各 项 内 容 的 真 实 性 负 责, 保 证 没 有 知 识 产 权 争 议 如 获 准 立 项, 本 表 为 有 约 束 力 的 协 议, 遵 守 广 东 省 教 育 科 学 规 划 领 导 小 组 办 公 室 的 有 关 规 定

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

05 01 accordion UI containers 03 Accordion accordion UI accordion 54


User Group SMTP

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

目 錄 壹 實 務 專 題 製 作 競 賽 ( 複 賽 ) 實 施 計 畫 1 貳 實 務 專 題 製 作 競 賽 ( 複 賽 ) 參 選 作 品 一 覽 表 13 參 評 審 委 員 名 單 23 肆 活 動 照 片 25 伍 實 務 專 題 製 作 競 賽 ( 複 賽 ) 優 良 作 品 名 錄

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的

石油大学(北京)

中南大学第二届软件创新大赛


学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 主 要 评 估 指 标 关 键 评 估 要 素 自 评 等 级 1.1 学 校 事 业 发 展 规 划 合 格 1. 领 导 作 用 1.2 办 学 目 标 与 定 位 合 格 1.3 对 人 才 培 养 重 视 程 度 合 格 1

02年杜范本稿

1 目 錄 1. 簡 介 一 般 甄 試 程 序 第 一 階 段 的 準 備 第 二 階 段 的 準 備 每 間 學 校 的 面 試 方 式 各 程 序 我 的 做 法 心 得 及 筆 記 結 論..

Basic System Administration

老码农原创小说《码农故事》

untitled

第一章

itestin 能 干 什 么? itestin 是 云 测 ( 提 供 给 广 大 移 动 应 用 测 试 者 或 者 开 发 者 免 费 使 用 的 一 款 安 卓 UI 自 动 化 测 试 录 制 工 具 ( 目 前 只 支 持 Android 应 用 程 序 的

AS北京2017-《知乎 Feed 流构架演进》-姚钢强.key

第 一 部 分 广 州 市 人 力 资 源 和 社 会 保 障 局 概 况 一 广 州 市 人 力 资 源 和 社 会 保 障 局 主 要 职 能 ( 一 ) 贯 彻 执 行 国 家 和 省 市 人 力 资 源 和 社 会 保 障 事 业 发 展 的 法 律 法 规 和 方 针 政 策, 拟 订 本


untitled

秘密

E11701


ASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M

Microsoft PowerPoint - ch6 [相容模式]

状 态, 规 划 车 辆 行 驶 路 径, 可 进 入 网 站 充 电 服 务 栏 目 (2) 查 询 位 置 联 系 方 式 营 业 时 间 等 信 息, 可 进 入 网 站 服 务 指 南 栏 目 建 议 您 出 行 前 通 过 易 充 电 互 动 网 站 提 前 了 解 所 经 高 速 快 充

Dell EMC Data Domain DDOS 5.5 Data Domain Data Domain Data Domain : Data Domain Boost (DDBoost) Dell EMC DDBoost Data Domain DDBoost Source De-Dup Bac

暴风云视点播解决方案

本手册描述了Piu和Piu Player的功能,及Piu的完整使用流程。

Microsoft Word - 桂电教[2008]8号.doc

教育心理学教学案例分析

(Microsoft Word \256\325\260\310\267|\304\263\260O\277\375_\252k\250\356_.doc)

nb.PDF

epub83-1

FileMaker 15 WebDirect 指南

基于ECO的UML模型驱动的数据库应用开发1.doc

基于Electron-vue的桌应用实战2

滴 水 之 恩 當 湧 泉 相 報 得 獎 者 : 余 乃 成 指 導 老 師 : 張 月 娟 時 時 感 恩, 生 活 才 有 意 義 ; 常 常 圖 報, 生 命 才 有 價 值 我 從 小 就 受 人 恩 惠, 也 儘 量 回 報 人 家, 因 此 我 的 感 觸 特 別 深 刻 我 的 爸

科大讯飞分析

目 录 目 录 平 台 概 述 技 术 架 构 技 术 特 点 基 于 统 一 平 台 的 多 产 品 线 支 撑 先 进 性 安 全 性 开 放 性 高 性 能 和

epub 21-22

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

表 决, 审 议 程 序 符 合 有 关 法 律 法 规 和 本 公 司 章 程 的 规 定 3 本 议 案 尚 需 提 交 股 东 大 会 审 议, 与 该 等 交 易 有 利 害 关 系 的 关 联 股 东 将 放 弃 在 股 东 大 会 上 对 相 关 议 案 的 投 票 权 ( 二 ) 公

Transcription:

手机淘宝 H5 和 Weex 容器的构建实践 鬼道 ( 徐凯 ) 高级前端开发专家

个人简介 2015, 手机淘宝 H5 和 Weex 容器器团队 2013, 天猫 Web 前端架构 天猫 Pad 客户端 2011, 百度 广告 / 统计 Native/H5 SDK

触发 页 面加载进度预加载 HTTP-DNS SPDY 渲染交互

交互时 2014 下载时 2015 渲染时 2016 Hybrid API 预加载 渲染 平台化 HTTP-DNS Weex SPDY

目录 content H5 容器 Weex 容器

H5 容器 - 预加载

预加载 资源请求 本地 文件命中? N Y 加载本地资源 加载远程资源

流程 资源请求 本地 文件命中? N Y 加载本地资源 加载远程资源

) mp : AZ ekp su) t L ekd IC ekig ) AZ ekp h R h R N a C ek C R R C R jn ( ) c ek h Rp c A W ) ) A lk A lk m ( ( ( (

应用范围 集团预加载接 入 客户体验聚划算 口碑碑 AE 数字娱乐城市 生活 OS 安全部阿 里里 音乐 4332 2 1688 5 4 蚂蚁 5 5 阿 里里通信 6 阿 里里云 6 8 智能 生活 10 菜 鸟 11 搜索 13 阿 里里影业 13 B2B 14 航旅 21 天猫 23 淘宝 135

1 3 2 4

资源加载时间

极致性能

Bad case

15 年初

到达率 2015.11.10-11.11 到达率

在线到达率 86% 98%

H5 容器 - 网络优化

网络拦截 ios Android URLProtocol UC 异步 网络接 口 阿 里里 网络库 HTTP-DNS SPDY Server

前端优化 1. 域名收敛 2. 埋点优化

Weex

移动开发痛点 Native 开发痛点 平台 设备差异 自由部署能 力力开发集成效率 Web 开发痛点 加载性能流畅体验 Hybrid Web&Native 混合编程 Weex

Weex ( HTML/CSS/JS ) = Native UI

Weex ( HTML/CSS/JS ) = Native UI DSL (HTML/JS/CSS) Virtual DOM ios RenderEngine Android RenderEngine H5 RenderEngine ios UI Android UI H5 UI

Server Weex DSLFile transformer JS Bundle deploy Server JS JSCore / V8 JS-Native Bridge JS Framework calljs callnative ios RenderEngine Android RenderEngine H5 RenderEngine Client

DSL JS-Bundle

RenderEngine Virtual DOM RenderEngine Build Tree Apply Style Create View Update Frame CSS Layout Attach Event Native/H5 View

Javascript callnative Native Javascript Engine Javascript Framework Transformed Bundles calljs Native Framework Native View/Container System Framework

16:21:18.980 D/weex : calljs >>>> instanceid:1 tasks:[{"data":"1","type":2},{"data":"[{\"args\":[\"_root\", 16:21:18.981 D/weex : callnative >>>> instanceid:1, tasks:[{"module":"dom","method":"updatefinish","args 16:21:19.944 D/weex : calljs >>>> instanceid:1function:destroyinstance tasks:[{"data":"1","type":2}] 16:21:26.525 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"dom","method":"createbody","args": 16:21:26.886 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"dom","method":"createfinish","args 16:21:26.897 D/weex : calljs >>>> instanceid:2 tasks:[{"data":"2","type":2},{"data":"[{\"args\":[\"_root\", 16:21:26.897 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"dom","method":"updatefinish","args 16:21:32.104 D/weex : calljs >>>> instanceid:2 tasks:[{"data":"2","type":2},{"data":"[{\"args\":[\... 16:21:32.105 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"dom","method":"updatefinish","args 16:21:32.113 D/weex : calljs >>>> instanceid:2 tasks:[{"data":"2","type":2},{"data":"[... 16:21:32.113 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"dom","method":"updatefinish","args 16:21:32.124 D/weex : calljs >>>> instanceid:2 tasks:[{"data":"2","type":2},{"data":"[{\"args\":[\"157\",\" 16:21:32.125 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"event","method":"openurl","args":[ 16:21:32.126 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"dom","method":"updatefinish","args 16:21:32.141 D/weex : calljs >>>> instanceid:2 tasks:[{"data":"2","type":2},{"data":"[{\"args\":[\"_root\", 16:21:32.142 D/weex : callnative >>>> instanceid:2, tasks:[{"module":"dom","method":"updatefinish","args 16:21:32.361 D/weex : callnative >>>> instanceid:3, tasks:[{"module":"dom","method":"createbody","args": 16:21:32.533 D/weex : callnative >>>> instanceid:3, tasks:[{"module":"dom","method":"createfinish","args 16:21:32.538 D/weex : calljs >>>> instanceid:3 tasks:[{"data":"3","type":2},{"data":"[{\"args\":[\"_root\", 16:21:32.539 D/weex : callnative >>>> instanceid:3, tasks:[{"module":"dom","method":"updatefinish","args

Weex Component 对应于 页 面上的标签, 负责把 DOM 元素渲染为对应的 Native View.

[ div, text, a, image,video, list(cell,header), scroller, slider(indicator), input, switch, web, tabbar,embed... ]

Weex Module

[ modal, storage, clipboard, globalevent, Timer, stream ]

Weex 大图 业务 手淘 手猫 UC 菜 鸟 千 牛 聚划算 大促线 产品线 业务模块 发布系统 组件库 AliHybridAPI Hilo Weex DSL JS Framework JSFM (Vue 2.0) Rx(D2) Weex Core Android RenderEngine ios RenderEngine H5 RenderEngine Toolchain

业务

业务

价值 1. 新版更更新速度 更更新率到 60%:Android 耗费 2 周 ios 1 周 Weex/H5 1 分钟 2. 开发效率 Android/iOS/H5 三端开发 -> Weex, 节约 50%+ 人 力力 3. 体验提升 相 比 H5,Android 和 ios 流畅性显著提升 Android 低端机帧率提升 37%+(40->55FPS)

技术演进 1. 原型 2015 双 十 一 / 双 十 二 2. 雏形 2016.01 首个独 立SDK 版本 布局和样式补全 2016.03 更更多 UI 和 API 2016.04 会场框架 Weex 化 Open Source (private) 3. 发展中 2016.05 Syntax 扩展 性能 稳定性 2016.06 Open Source (public) DevTools 年年中促 大规模应 用 2016.08 Timer Storage fetch Gesture

多端一致 - Android

多端一致 - ios

多端一致 - H5

轻量 轻量量语法 : 语法简单, 一 小时上 手 轻量量 SDK: Android:667KB + 1.5MB (V8) ios:787kb H5 :86KB (gzip)

高性能 渲染 分段快速渲染 帧率 (FPS) Scroll 长列列表 : 中 高端机 59+, 低端机 55+ Weex (List) RN (List) Weex (Scroller) RN (Scroller) 内存 CPU List 长列列表 : 中 高端机 55+, 低端机 50+ 无尽列列表, 原 生内存复 用 闲时 :0% 高峰 :10% - 30% Load 1325ms 1656ms 1381ms 1833ms FPS 55.45 56.55 59.09 59.06 Memory 99.78M 108.43M 93.45M 106.83M CPU (backend) CPU (max) in Nexus 5 0% 6% 0% 7% 26% 34% 25% 36%

高性能 秒开 下载阶段 : 预加载 执 行行阶段 :Framework + JSBundle 渲染阶段 : 分块渲染 (tree/node) 流畅 异步 Layout, 让渲染脱离主线程 Compositing 节源 JSCore GC 策略略优化 文本渲染性能优化

Node append= node Text Image Text

Node append= node div div div Image Text Text

Node append= node Image div Text Text Image Text Text div div div

Node append= node Image Text Text div div div div Image Text Text

Tree append= tree Text div Image Text div Image Text div Text div } append = tree

Tree append= tree Text Image Text div Image div div div Text } append = tree Text

DevTools

DevTools stetho ponydeb ugger Nuclide React devtools Weex devtools android(element, console, network, resources) y n n n y ios(element, console, network, resources) n y*4 y*2 n y multiple devices/app n n n n y js debugger n n y*3 y*1 y vdom inspector n n n y y screencast /select element/remote control n n n n y

开源 http://alibaba.github.io/weex/

社区运作 Discuss (Issue) Coding Code Review (PR)

社区运作 - 需求

社区运作 - PR

开源 1. 收获 1. 大量量边界条件, 强化稳定性 2. 服务好开发者 1. 并不不容易易, 也不不轻松 2. 代码 文档 工具 线上交流 线下活动

获取演讲资料和更多阿里移动技术动态 手机淘宝技术团队微公众号 阿里百川微公众号