開發小程序的時候總會有以下幾個疑問:
1. 小程序開發和網頁開發的關系?
2.小程序開發和各種開發框架之間的關系?
首先講,小程序和網頁開發都依賴javascript,但是所用的javascript有所不同,如下:
DOM:文檔對象模型
BOM:瀏覽器對象模型
正因為小程序沒有DOM和BOM對象所以,前端開發非常熟悉的一些庫,例如 jQuery、 Zepto 等,在小程序中是無法運行的。
正因為小程序的框架和NPM與Native的不同,一些 NPM 的包在小程序中也是無法運行的。
其次,從小程序的運行環境上看
小程序的主要開發語言是 JavaScript
網頁開發渲染線程和腳本線程是互斥的,這也是為什么長時間的腳本運行可能會導致頁面失去響應,
而在小程序中,二者是分開的,分別運行在不同的線程中。
網頁開發者可以使用到各種瀏覽器暴露出來的 DOM API,進行 DOM 選中和操作。而如上文所述,
小程序的邏輯層和渲染層是分開的,邏輯層運行在 JSCore 中,並沒有一個完整瀏覽器對象,因而缺少相關的DOM API和BOM API。