首页
学习
活动
专区
工具
TVP
发布

百度开源小程序框架的架构演进

作者 | 冉叶兰

嘉宾 | 付嘉兴

编辑 | 张之栋、王文婧

早前在移动互联网刚刚兴起时,人们就在考虑怎么用“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 上,付嘉兴老师还会具体分享,百度智能小程序开源整体框架及演进、百度智能小程序框架性能优化实践,以及百度智能小程序生态赋能等。带你快速了解,如何优化自身小程序性能,以及如何将百度小程序框架集成到自身宿主中。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191126A0EL3N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券