很早以前就听说过小程序白皮书,但是一直没有看过,很惭愧。那么小程序白皮书都讲了什么呢?有了小程序白皮书,在某种意义上来说对小程序生态发展非常有利。如果你所在的公司正在开发自己的小程序框架,那么「必须」参考白皮书设计自己的小程序,除非你的小程序不接受第三方开发者,只是在内部 App 使用。
是什么,能做什么
白皮书首先解释什么是小程序,它能够解决什么问题。其实说白了小程序就是一个 Hybrid App,它通过与端建立 bridge,使小程序拥有了端的一系列能力。不仅如此,第三方开发者也可以开发自己的服务集成到那些超级 App 中。
做了哪些约定
1、视图层与逻辑层隔离
「视图层」主要用来做页面渲染,包含 web 组件和端组件的渲染,而「逻辑层」主要用来处理事件、生命周期、API 调用。这两层的实现是完全隔离的。
上图中通过 JSBridge 来提供端的能力,一个 API 的调用经过的流程如下:
2、Rich API 和组件
web 能力和端的能力相结合,组成小程序独有的组件。比如 button 组件,可以打开 App,可以进行登录授权。
3.小程序的构成
小程序的包,也就是一个经过「构建工具」处理后的压缩包,里面包含了小程序所用到的静态资源文件,比如 JS、CSS、配置文件。
还有很多内容
这份白皮书内容还不少,我截了个图,感兴趣的可以看原文:
https://www.w3.org/TR/2019/WD-mini-app-white-paper-20190912/#separate-the-view-layer-from-the-logic-layer
不知道有多少朋友对小程序的底层实现比较好奇,欢迎留言说说你的看法。
长按关注
素燕《前端小课》
帮助 10W 人入门并进阶前端