开发小程序的时候总会有以下几个疑问:
1. 小程序开发和网页开发的关系?
2.小程序开发和各种开发框架之间的关系?
首先讲,小程序和网页开发都依赖javascript,但是所用的javascript有所不同,如下:
DOM:文档对象模型
BOM:浏览器对象模型
正因为小程序没有DOM和BOM对象所以,前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。
正因为小程序的框架和NPM与Native的不同,一些 NPM 的包在小程序中也是无法运行的。
其次,从小程序的运行环境上看
小程序的主要开发语言是 JavaScript
网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,
而在小程序中,二者是分开的,分别运行在不同的线程中。
网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。而如上文所述,
小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。