QQ小程序 小程序的運(yùn)行環(huán)境

2020-07-03 16:36 更新

QQ小程序運(yùn)行在三端:iOS(iPhone/iPad)、Android 和 用于調(diào)試的開(kāi)發(fā)者工具。 三端的腳本執(zhí)行環(huán)境以及用于渲染非原生組件的環(huán)境是各不相同的:

  • 在 iOS 上,小程序邏輯層的 javascript 代碼運(yùn)行在 JavaScriptCore 中,視圖層是由 WKWebView 來(lái)渲染的,環(huán)境有 iOS8、iOS9、iOS10;
  • 在 Android 上,
    • 小程序邏輯層的 javascript 代碼運(yùn)行中 X5 JSCore 中,視圖層是由 X5 基于 Mobile Chrome 57 內(nèi)核來(lái)渲染的;
  • 在 開(kāi)發(fā)工具上,小程序邏輯層的 javascript 代碼是運(yùn)行在 NW.js 中,視圖層是由 Chromium 60 Webview 來(lái)渲染的。

運(yùn)行限制

基于安全考慮,小程序中不支持動(dòng)態(tài)執(zhí)行 JS 代碼,即: 不支持使用 eval 執(zhí)行 JS 代碼 不支持使用 new Function 創(chuàng)建函數(shù)

平臺(tái)差異

盡管三端的環(huán)境是十分相似的,但是還是有些許區(qū)別: JavaScript 語(yǔ)法和 API 支持不一致:語(yǔ)法上開(kāi)發(fā)者可以通過(guò)開(kāi)啟 ES6 轉(zhuǎn) ES5 的功能來(lái)規(guī)避;此外,小程序基礎(chǔ)庫(kù)內(nèi)置了必要的Polyfill,來(lái)彌補(bǔ)API的差異。 QSS 渲染表現(xiàn)不一致:盡管可以通過(guò)開(kāi)啟樣式補(bǔ)全來(lái)規(guī)避大部分的問(wèn)題,還是建議開(kāi)發(fā)者需要在 iOS 和 Android 上分別檢查小程序的真實(shí)表現(xiàn)。

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)