# Mini Program operating environment

WeChat mini programs run on multiple platforms: iOS/iPadOS WeChat Account, Android WeChat Account, Windows PC WeChat Account, Mac WeChat client,[Mini Program hardware framework](https://developers.weixin.qq.com/doc/oplatform /Miniprogram_Frame/)And WeChat developer tools for debugging.

Different runtime environments, the script execution environment and the environment used for component rendering are different, and the performance varies:

  • in iOS、iPadOS and Mac OS On, the Mini Program logic layer of the JavaScript The code runs on the JavaScriptCore The view layer is composed of WKWebView To render, the environment has iOS 14、iPad OS 14、Mac OS 11.4 etc.
  • in Android On, the Mini Program logic layer of the JavaScript The code runs on the V8 In which the view layer is formed based on the Mobile Chromium Core WeChat self-research XWeb The engine to render.
  • in Windows On, Mini Program Logic Layer JavaScript And the view layer are all created with Chromium kernel
  • in Development tools on the Mini Program logic layer of the JavaScript The code is run on the [NW.js](https://nwjs.io /) The view layer is composed of Chromium Webview To render.

JavaScriptCore Unable to open JIT Compile (Just-In-Time Compiler)The operating performance under the same conditions is significantly lower than other platforms.

# Platform differences

Although the operating environments are very similar, there are some differences:

  • JavaScript Grammar and API Support inconsistency: Syntactically, developers can do this by enabling ES6 turn ES5 The function to circumvent ([details](https://developers.weixin.qq.com/miniprogram/dev/Devtools /codecompile.html#es6-turn-es5))In addition, the Mini Programs base library has the necessary Polyfill built in to compensate for the API differencesdetails)。

  • WXSS Rendering performance is inconsistent: although it is possible to open the[Style completion](https://developers.weixin.qq.com/miniprogram/dev/Devtools /codecompile.html#Style completion)To avoid most of the problems, it is still recommended that developers need to check the true performance of the Mini Program on each side.

Developer tools for debugging purposes only, the final performance to the client shall prevail.