百度资深工程师亲授小程序开源架构演进成功机密

2019 年 11 月 27 日 InfoQ

作者丨冉叶兰

嘉宾丨付嘉兴

早前在移动互联网刚刚兴起时,人们就在考虑怎么用“HTML5 + 浏览器”打造一个内应用,提高用户转化率,于是出现了 App。随着互联网红利消退, 此时 H5 技术并不成熟,App 的发展也受制于 3G 网速,加上 App 之间关联度低,这时候就衍生了小程序。

自微信推出小程序以来,大厂们从最初观望到如今的纷纷布局。第一波涌入小程序的大厂之一就有百度,早在 2018 年百度就开源了自己的智能小程序的框架架构。

于 12 月 20 日举行的 GMTC 全球大前端技术大会 (深圳站) 上,百度技术经理付嘉兴老师将分享《百度开源智能小程序框架架构演进和性能优化实践》。GMTC 小编在会前采访了付嘉兴老师,看看百度智能小程序的研发背景是什么?百度智能小程序又是怎么把用户体验最大限度的接近 Native App(NA)?

GMTC:请简单介绍下自己。

付嘉兴:我是 2010 年西安交大毕业后加入百度的,一直做客户端工作。先做掌上百度产品,2011 年开始做百度 App(最早叫手机百度),我历经了百度 App 的所有版本,从最开始的 1 个用户到现在的 1 亿用户。2018 年百度从战略高度新启智能小程序,我这边组建团队负责智能小程序在百度 App 的落地。当前负责客户端工作,核心任务就是提升小程序的体验。

GMTC:您入职百度以来,先后负责百度 App、Feed、小程序方面的技术工作,有哪些底层技术是通用的?

付嘉兴:百度 App 是一个 Super App,几乎涵盖移动端开发涉及的所有技术。同时也是一个容器,为上层百度系业务提供能力支持,能力提供方式有类 Hybrid 方案、RN 方案、插件以及小程序等。Hybrid 方案更多服务于自身 H5 业务,如 Feed、RN、插件更多服务于百度系其他产品;小程序方案服务于广大第三方开发者。

GMTC:百度小程序框架自从 2018 年开源以来,用户越来越多,百度小程序框架的研发背景是?

付嘉兴:首先是百度自身为什么要研发智能小程序,从技术上讲,移动互联网一直在寻找既有 H5 灵活性又有 NA  体验的技术方案,小程序是一种新的尝试。Hybrid 是在 H5 上做加法,增加 NA 的部分能力;RN 是在 NA 上做减法,增加约束实现动态;小程序觉得是 H5 标准缩小集合上做加法,增加上比较丰富的 NA 能力(API 层的,如手机信息;组件层的,如 NA 地图导航、NA 播放器;AI 层的,如人脸识别、语音识别),理论上能通过小程序这套方案将 NA 的所有的能力输出。小程序在 NA 能力提供上是丰富的, NA 体验明显,在灵活性上接近 H5,能力使用上也是可控的安全的。

再者是百度为什么要将百度智能小程序框架开放给业界,是建设建康生态的需要,宿主越多小程序的分发场景越多。

GMTC:百度在实践小程序框架过程中遇到的哪些技术难点是什么?又是怎么解决的?

付嘉兴:这里我就简单介绍两个,一个是性能,一个是对外提供能力的正确性。

  • 性能:最重要的是启动性能,取决于两方面,智能小程序框架的运行速度、小程序业务自己的加载速度。前者是我们框架要做的,通过一年半专人对方向持续优化,对整个小程序启动全流程进行监控,通过对下载、加载、渲染时间几毫秒几毫秒的往下压,线上数据自身对比,线下每周高速摄像头与竞品对比,目前已超越竞品。

  • 能力正确性:小程序业务的特点是,框架层提供的是 API、组件,直接服务的是开发者而不是用户。如何保证开发者各种使用场景的正确性和稳定性,是一个大的挑战,是客户端业务不曾遇到的。开始我们也走过弯路,现在一方面内部要求所有的对外能力需要单测,需要基于开发者视角的自动化测试;另一方面,要建全开发者问题及时响应机制、完善论坛、考核修复率,使得整体小程序的稳定性有了大踏步提升。

GMTC:百度小程序自研发以来,取得了哪些阶段性的成果?

付嘉兴:2018 年 7 月 4 日百度 AI 世界大会正式对外发布智能小程序,年底实现开源。技术上,智能小程序启动性能持续提升,每个季度都超过了既定目标,在搜索、Feed 自然结果页和商业结果都已大量分发,如数据显示,“相比于跳转 H5,智能小程序帮助携程的访问深度提升了 150%,帮助小红书的人均使用时长提升了 50%”。开源联盟方面,2019 年 5 月百度联盟生态合作伙伴大会同步开源联盟成员已达到 24 个。

GMTC:百度小程序目前的体验如何?比如启动速度,与 H5、NA 界面对比,有什么特色?

付嘉兴:百度智能小程序目前与 H5 比体验整体已超越,所以大量 H5 已切小程序,智能小程序的目标是体验无限接近 NA。启动速度方面,现在整体统计上已优于 H5;与 NA 比还有差距。百度智能小程序可以运行在更多内外部宿主上,有大量集中流量(搜索、Feed)供运营,丰富的 AI 能力供开发者选择。

活动推荐

在即将到来的 GMTC 深圳 2019 上,付嘉兴老师还会具体分享到,百度智能小程序开源整体框架及演进,百度智能小程序框架性能优化实践,以及百度智能小程序生态赋能等。带你快速了解,如何优化自身小程序性能,以及如何将百度小程序框架集成到自身宿主中。

除了付嘉兴老师的分享,本次 GMTC 我们还设置了小程序挑战与应对、音视频技术、Serverless 实践、前端测试与安全、大前端工程化、Flutter 实战、新兴编程语言、团队建设与管理等热门技术专场,目前大会 9 折购票,点击「阅读原文」了解大会日程。有任何问题欢迎联系票务鱼丸:13269078023(微信同号)

👇点击阅读原文了解大会详情 

登录查看更多
0

相关内容

中国互联网公司之一,占有中国搜索引擎市场五成以上的份额。旗下有贴吧、知道、百科、文库等产品。 详细资料: 百度 本话题适用于百度公司及其产品的讨论。
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【阿里巴巴】 AI编译器,AI Compiler @ Alibaba,21页ppt
专知会员服务
44+阅读 · 2019年12月22日
【阿里技术干货】知识结构化在阿里小蜜中的应用
专知会员服务
96+阅读 · 2019年12月14日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
阿里技术大牛:一份架构师成神路线图!
51CTO博客
30+阅读 · 2019年7月6日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
职人沙龙 | 走进小打卡,小程序技术实战交流
【人工智能架构】深度解密京东登月平台基础架构
产业智能官
11+阅读 · 2017年9月26日
开源巨献:阿里巴巴最热门29款开源项目
算法与数据结构
5+阅读 · 2017年7月14日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
Arxiv
4+阅读 · 2019年8月7日
Few-shot Adaptive Faster R-CNN
Arxiv
3+阅读 · 2019年3月22日
Meta-Learning with Latent Embedding Optimization
Arxiv
6+阅读 · 2018年7月16日
Arxiv
7+阅读 · 2018年6月8日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关资讯
阿里技术大牛:一份架构师成神路线图!
51CTO博客
30+阅读 · 2019年7月6日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
职人沙龙 | 走进小打卡,小程序技术实战交流
【人工智能架构】深度解密京东登月平台基础架构
产业智能官
11+阅读 · 2017年9月26日
开源巨献:阿里巴巴最热门29款开源项目
算法与数据结构
5+阅读 · 2017年7月14日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
相关论文
Arxiv
4+阅读 · 2019年8月7日
Few-shot Adaptive Faster R-CNN
Arxiv
3+阅读 · 2019年3月22日
Meta-Learning with Latent Embedding Optimization
Arxiv
6+阅读 · 2018年7月16日
Arxiv
7+阅读 · 2018年6月8日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
4+阅读 · 2016年12月29日
Top
微信扫码咨询专知VIP会员