一、线程
- 网页开发:单线程。渲染线程和脚本线程是互斥的,长时间的脚本运行可能会导致页面失去响应。
- 微信小程序:双线程。逻辑层和渲染层是分开的,运行在不同的线程中。
二、BOM和DOM
- 网页开发:可以使用文档对象模型( DOM)和浏览器对象模型(BOM) API。
- 微信小程序: 缺少DOM和BOM API。逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象。
三、环境
- 网页开发:环境是各种浏览器。开发搭配上一些辅助工具或者编辑器。
- 微信小程序: 两大操作系统( iOS 和 Android) 的微信客户端,以及用于辅助开发的小程序开发者工具。开发要经过申请小程序帐号、安装小程序开发者工具、配置项目等过程。
小程序中三大运行环境也不同:
运行环境 | 逻辑层 | 渲染层 |
---|---|---|
iOS | JavaScriptCore | WKWebView |
安卓 | V8 | 自研 XWeb 引擎(chromium定制内核) |
小程序开发者工具 | NWJS | Chrome WebView |
参考资料:
网友评论