更新時(shí)間:2022-06-30 來(lái)源:黑馬程序員 瀏覽量:
小程序無(wú)需下載,通過(guò)搜索和掃一掃就可以打開(kāi),截止2021年微信已擁有超12億的用戶量,加之良好的用戶體驗(yàn),打開(kāi)速度,開(kāi)發(fā)成本也遠(yuǎn)低于App,對(duì)于企業(yè)來(lái)說(shuō)是獲客和引流的不二選擇,本節(jié)來(lái)講一下小程序的運(yùn)行原理。
微信小程序采用 JavaScript、WXML、WXSS 三種技術(shù)進(jìn)行開(kāi)發(fā),從技術(shù)講和現(xiàn)有的前端開(kāi)發(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ǔ)法開(kāi)發(fā)的,因此開(kāi)發(fā)時(shí),只能使用微信提供的現(xiàn)有 標(biāo)簽,HTML 的標(biāo)簽是無(wú)法使用的。
WXSS:WXSS 具有 CSS 的大部分特性,但并不是所有的都支持,而且支持哪些,不支 持哪些并沒(méi)有詳細(xì)的文檔。
另外微信的架構(gòu),是數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)模式,它的 UI 和數(shù)據(jù)是分離的,所有的頁(yè)面更新,都需要通過(guò)對(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)行,通過(guò)系統(tǒng)層 JSBridge 實(shí)現(xiàn)通信, 實(shí)現(xiàn) UI 的渲染、事件的處理。
重繪和回流導(dǎo)致可能會(huì)導(dǎo)致哪些性能問(wèn)題?【web前端】
2022-06-29前端自學(xué)好還是報(bào)培訓(xùn)班學(xué)習(xí)好?
2022-06-29web前端培訓(xùn):移動(dòng)web離線應(yīng)用
2022-06-272022年web前端開(kāi)發(fā)學(xué)習(xí)路線圖-黑馬程序員
2022-06-23什么是復(fù)合選擇器?CSS 的復(fù)合選擇器
2022-06-14HTML5常用的語(yǔ)義化標(biāo)簽【語(yǔ)義化布局的優(yōu)點(diǎn)】
2022-06-10