更新時(shí)間:2022-06-30 來(lái)源:黑馬程序員 瀏覽量:
小程序無(wú)需下載,通過搜索和掃一掃就可以打開,截止2021年微信已擁有超12億的用戶量,加之良好的用戶體驗(yàn),打開速度,開發(fā)成本也遠(yuǎn)低于App,對(duì)于企業(yè)來(lái)說是獲客和引流的不二選擇,本節(jié)來(lái)講一下小程序的運(yùn)行原理。
微信小程序采用 JavaScript、WXML、WXSS 三種技術(shù)進(jìn)行開發(fā),從技術(shù)講和現(xiàn)有的前端開發(fā)差不多,但深入挖掘的話卻又有所不同。
JavaScript:首先 JavaScript 的代碼是運(yùn)行在微信 App 中的,并不是運(yùn)行在瀏覽器中,因 此一些 H5 技術(shù)的應(yīng)用,需要微信 App 提供對(duì)應(yīng)的 API 支持,而這限制住了 H5 技術(shù)的應(yīng)用,且 其不能稱為嚴(yán)格的 H5,可以稱其為偽 H5,同理,微信提供的獨(dú)有的某些 API,H5 也不支持或支 持的不是特別好
WXML:WXML 微信自己基于 XML 語(yǔ)法開發(fā)的,因此開發(fā)時(shí),只能使用微信提供的現(xiàn)有 標(biāo)簽,HTML 的標(biāo)簽是無(wú)法使用的。
WXSS:WXSS 具有 CSS 的大部分特性,但并不是所有的都支持,而且支持哪些,不支 持哪些并沒有詳細(xì)的文檔。
另外微信的架構(gòu),是數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)模式,它的 UI 和數(shù)據(jù)是分離的,所有的頁(yè)面更新,都需要通過對(duì)數(shù)據(jù)的更改來(lái)實(shí)現(xiàn)。小程序分為兩個(gè)部分 webview 和 appService。其中 webview 主要用來(lái)展現(xiàn) UI,appService 有來(lái)處理業(yè)務(wù)邏輯、數(shù)據(jù)及接口調(diào)用。它們?cè)趦蓚€(gè)進(jìn)程中運(yùn)行,通過系統(tǒng)層 JSBridge 實(shí)現(xiàn)通信, 實(shí)現(xiàn) UI 的渲染、事件的處理。