小程序無需下載,通過搜索和掃一掃就可以打開,截止2021年微信已擁有超12億的用戶量,毫不夸張的說小程序已經成為了我們生活中的一部分,對于中小企業(yè)它有著巨大的優(yōu)勢,由于小程序有微信這個龐大的流量入口,因此獲取流量的方式也變得簡單了,不像APP一樣,需要巨大的推廣費,且適用于各個行業(yè)。因此小程序開發(fā)就成為前端開發(fā)工程師必備技能。本節(jié)來講一下小程序的運行原理。
微信小程序采用 JavaScript、WXML、WXSS 三種技術進行開發(fā),從技術講和現(xiàn)有的前端開發(fā)差不多,但深入挖掘的話卻又有所不同。
JavaScript:首先 JavaScript 的代碼是運行在微信 App 中的,并不是運行在瀏覽器中,因 此一些 H5 技術的應用,需要微信 App 提供對應的 API 支持,而這限制住了 H5 技術的應用,且 其不能稱為嚴格的 H5,可以稱其為偽 H5,同理,微信提供的獨有的某些 API,H5 也不支持或支 持的不是特別好
WXML:WXML 微信自己基于 XML 語法開發(fā)的,因此開發(fā)時,只能使用微信提供的現(xiàn)有 標簽,HTML 的標簽是無法使用的。
WXSS:WXSS 具有 CSS 的大部分特性,但并不是所有的都支持,而且支持哪些,不支 持哪些并沒有詳細的文檔。
另外微信的架構,是數據驅動的架構模式,它的 UI 和數據是分離的,所有的頁面更新,都需要通過對數據的更改來實現(xiàn)。小程序分為兩個部分 webview 和 appService。其中 webview 主要用來展現(xiàn) UI,appService 有來處理業(yè)務邏輯、數據及接口調用。它們在兩個進程中運行,通過系統(tǒng)層 JSBridge 實現(xiàn)通信, 實現(xiàn) UI 的渲染、事件的處理。