muwoo / blogs

📚一个前端的博客。
2.32k stars 350 forks source link

小程序框架原来也就是这么回事 #41

Open muwoo opened 4 years ago

muwoo commented 4 years ago

小程序内部实现原理概览

小程序原理demo

对于小程序框架实现原理,在支付宝小程序官方文档上有这样一段描述:

与传统的 H5 应用不同,小程序运行架构分为 webview 和 worker 两个部分。webview 负责渲染,worker 则负责存储数据和执行业务逻辑。 1.webview 和 worker 之间的通信是异步的。这意味着当我们调用 setData 时,我们的数据并不会立即渲染,而是需要从 worker 异步传输到 webview。 2.数据传输时需要序列化为字符串,然后通过 evaluateJavascript 方式传输,数据大小会影响性能。

概括一下,大致意思是小程序框架核心是通过2个线程来完成的,主线程负责webView的渲染工作,worker线程负责js执行。说到这里,你是不是会产生一个疑问:为什么多线程通信损耗性能还要搞多线程呢? 可能大多数人都知道因为Web技术实在是太开放了,开发者可以为所欲为。这种情况在小程序中是不允许的,不允许使用