小程序为什么会有如此高的渲染效率?
原创 None 来源:普悦科技 点击:1862

    大家一定都会好奇,为什么小程序的体验会比H5网页更好,是因为它有高的渲染效率,设计之初就考虑过它的各个方面的性能体验因素。

小程序最终是通过native的方式去渲染的,其比webview的方式要好很多,DSL的设计可以更好的屏蔽底层实际渲染,不过目前较为常见的框架有Weex、RN、Flutter,但是由于flutter起步比较晚,所以早期的小程序都是通过Weex和RN来实现高性能的体验,大家看微信其实安装包并不大,但是却包含了上千万个小程序,主要还是他只集成了native渲染框架的核心部分,小程序的代码都是临时去下载的,并且每个小程序都不会超过2M,所以下载速度够快,够迅速。用户完全可以理解为小程序就是嵌套在微信上一同带来的。

    另外小程序的设计也会比较独特,它采用了JS和渲染分离的方式进行,其实我们还是会依赖JS的处理核心组件,平常在使用H5的时候只是在显示方面让人感到不尽人意,所以我们特别的对渲染部分加以处理。让JS的加载和渲染同时进行可以事半功倍,这是一个成功的实现MVC架构的体现,后续小程序在发展过程中也出现了预加载和离线包的概念,预加载是为了让用户加载体验更快而做的提前加载的缓存操作,旨在让用户一打开小程序就免去了加载数据的等待过程,依然是采用空间换时间的操作。

    另外小程序会有一个离线包的概念,相信大家作为开发者已经知道小程序本地是有缓存的,不可能一直去请求网络IO,而是通过下载到本地进行一个本地IO,所以有时候版本更新的时候用户还并不能及时体验到最新版本,一定要把小程序删除,再添加才行,分包里面又有主包和子包的概念,不同的页面就是不同的子包,也是为了使得分散化提升下载更新的效率。