本文简要分析微信小程序的运行机制,可能对于你对微信小程序的认识会深刻和透彻一些。官方文档中有如下介绍:

  • 在iOS 上,小程序的 javascript 代码是运行在 JavaScriptCore 中

  • 在Android 上,小程序的 javascript 代码是通过 X5 内核来解析

  • 在开发工具上, 小程序的 javascript 代码是运行在 nwjs(chrome内核) 中

一、JavaScriptCore

JavaScriptCores是开源的,下载地址是https://github.com/phoboslab/JavaScriptCore-iOS

OS X Mavericks 和 iOS 7 引入了 JavaScriptCore 库,它把 WebKit 的 JavaScript 引擎用 Objective-C 封装,提供了简单,快速以及安全的方式接入世界上最流行的语言。不管你爱它还是恨它,JavaScript 的普遍存在使得程序员、工具以及融合到 OS X 和 iOS 里这样超快的虚拟机中资源的使用都大幅增长。

参考文档:

    • http://nshipster.cn/javascriptcore/

二、X5 内核

属于国人开发的内核,腾讯公司自己的浏览器解析内核。


参考文档:

  • 资料汇总

  • 百度百科 X5内核

三、nwjs

原名:node-webkit,当然也是开源的 https://github.com/nwjs/nw.js/。

NW.js 是基于 Chromium和 Node.js运行的, 以前也叫nodeWebkit。这就给了你使用HTML和JavaScript来制作桌面应用的可能。在应用里你可以直接调用Node.js的各种api以及现有的第三方包。因为Chromium和 Node.js的跨平台,那么你的应用也是可以跨平台的。现在已经有很多知名的应用是基于NW.js实现。

参考文档:

  • nwjs readme

https://github.com/nwjs/nw.js...