在移动互联网中,Native App(NA)和H5始终处于博弈状态,在性能体验和灵活性之间苦苦寻找平衡。从技术上来说,小程序是那和H5的又一次碰撞。小程序的灵活性得到了证明。性能方面,百度智能小程序从框架启动、小程序下载、小程序加载、渲染四个方面优化了启动速度。
在2019 GMTC全球前端技术大会(深圳站)上,百度技术经理傅家兴联合百度和小程序开发者,讲解了可以用来提升自己小程序性能的手段,并以主持人的身份介绍了如何将小程序框架与自己的技术相融合。本文根据傅家兴的发言整理而成。
以下为正文:
今天的话题是《百度开源小程序框架架构演进和性能优化实践》。这个共享包括两个部分。第一部分是百度智能小程序的整体框架和演进,重点是百度智能小程序开发全过程的概述、百度智能小程序的框架和百度智能小程序的多主机运行保障。第二部分是百度小程序框架的性能优化,主要讲整个小程序的启动过程,从开发者的角度讲有哪些重要的优化点。
整个移动互联网一直在寻找那和H5的取舍。那性能好,能力强。H5更加灵活。我认为渲染可以分为两个组,一个是NA渲染组,另一个是H5渲染组。
NA渲染派,如RN、FlutterWeb渲染器,比如百度的轻应用,还有后期做的小程序。
百度曾经做过Web渲染派的三个代表产品,分别是轻应用、直达号和小程序。
轻应用是H5的终端能力。它是一个标准的H5,增加了一些NA APIs,比如定位等。直达号在技术上和轻应用是一样的。applet本质上是一个有限的H5丰富的API UI组件。目前,我们为小程序提供了300多个API和30多个组件。组件有接口。比如视频和地图。小程序受到限制有两个主要原因:
保持体验的一致性。H5太灵活了,JS可以随时改变界面。安全考虑。因为我们提供了大量的API和组件,而这些都是非常底层的能力,比如电话号码、账号,不可能轻易开放给所有人。如何被限制,主要有两点:
写语言,不是直接写HTML,是用自定义语言swan写的。运行时层有两个栈,一个是渲染栈,一个是JS执行栈,物理上是分开的,以保证安全性。
先简单介绍一下整个百度智能小程序的开发过程。
首先,开发者用swan写布局;然后用开发者工具打包,上传到我们小程序的B端服务器。然后是小程序的审核流程,有机审核,人工审核;
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/180464.html