手Q发布开源Hybrid框架VasSonic 2.0版本
极客时间编辑部
讲述:杜力大小:1.06M时长:02:19
VasSonic 是由腾讯手 Q 增值团队开发的一个轻量级、高性能的 Hybrid 框架,并于 2017 年 8 月 8 日在 GitHub 上开源,在开源后 24 小时内就获得超过 1600 个 star 数。今年 11 月,腾讯推出 VasSonic 2.0,这是开源以来的第一次重大更新。
VasSonic 2.0 主要有以下新特性:
支持 Local Server 模式,在该模式下无需后台配合亦可完成秒开,大大降低了接入的门槛;
支持自定义请求头和自定义响应头;
支持 Cache-Control 来控制缓存生命周期;
支持非 utf-8 编码。
VasSonic 能够摒弃传统框架的劣势,其项目负责人 Marlon Lu 认为主要原因有以下三点:
首先,在终端 UI 方面,终端创建 Webview 等 UI 比较耗时,而 VasSonic 通过创建中间层,智能地切换上下文 Context 来预创建和复用 Webview,把 UI 的创建耗时降到了最低。
其次,在网络方面,传统模式下一般通过 DNS 预解析、并行加载来减少网络耗时,技术团队在实践过程中发现,很多场景下经过第一步优化后,WebView 在等待并行下的网络传输。面对这种情况团队构造了网络中间层。
这样,启动子线程请求页面主资源,子线程会不断将网络数据读取到内存中。当 WebView 初始化完成的时候,提供一个中间层 BridgeStream 来连接 WebView 和数据流。当 WebView 读取数据的时候,中间层 BridgeStream 会先把内存的数据读取返回后,再继续读取网络的数据。通过这种桥接流的方式,整个内核无需等待并且做到边加载边渲染。
最后,在页面数据更新方面,沿用了 QQ 空间与增值合作的 webso 方案中动静分离的思想,并扩展了部分新的字段。先将整个页面 html 通过 VasSonic 标签进行划分,包裹在标签中的内容为 data,标签外的内容为模版。首次请求时把整个页面请求到本地并分别保存成模板跟数据,非首次请求时终端先展示缓存页面,然后通过增量更新数据来局部刷新页面,整个过程使用户无感知便能获取最新的页面内容,达到秒开的程度,极大提升了用户体验。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论