信客戶端內(nèi)部,小程序是運(yùn)行在一個(gè)虛擬機(jī)中的,因此要在APP內(nèi)部運(yùn)行小程序,就需要在APP中嵌入一個(gè)類似于微信客戶端的虛擬機(jī)。
目前,市面上有很多第三方的小程序引擎可以使用,比如阿里的小程序引擎、騰訊的小程序引擎等等。這些小程序引擎都是基于微信小程序的運(yùn)行環(huán)境進(jìn)行開(kāi)發(fā)的,可以在APP內(nèi)部運(yùn)行小程序。
具體來(lái)說(shuō),開(kāi)發(fā)者需要將小程序的代碼傳遞給小程序引擎,然后讓小程序引擎進(jìn)行解析和運(yùn)行。小程序引擎會(huì)將小程序的代碼解析成為一個(gè)虛擬DOM樹(shù),并生成對(duì)應(yīng)的JavaScript代碼。然后,小程序引擎會(huì)將這些JavaScript代碼交給JavaScript引擎進(jìn)行執(zhí)行,從而實(shí)現(xiàn)小程序的運(yùn)行。
## 三、總結(jié)
讓APP可以運(yùn)行上架小程序的方法,主要是通過(guò)獲取小程序的代碼,并在APP內(nèi)部嵌入一個(gè)小程序引擎來(lái)實(shí)現(xiàn)的。目前市面上有很多第三方的小程序引擎可供選擇,開(kāi)發(fā)者可以根據(jù)自己的需要選擇合適的引擎進(jìn)行使用。