⼩程序⼩游戏运⾏环境⼩结
1 运⾏环境
⼩程序分为逻辑层和渲染层,分别运⾏在各⾃的线程中。两个线程之间的通信经由客户端(Native)做中转,逻辑层发送⽹络请求也经由Native转发。
渲染层使⽤WebView进⾏渲染,逻辑层采⽤JSCore运⾏JS脚本。因为⼀个⼩程序可能存在多个界⾯,所以渲染层也可能有多个WebView 线程。
⼩游戏则是在⼩程序的基础上提供了WebGL接⼝的封装,使渲染能⼒和性能有⼤幅提升。
在普通⽹页开发中,开发者需要⾯对各式各样的环境,PC端有Chrome、IE、QQ浏览器等,移动端有Safari、Chrome以及系统中的各种WebView。⽽⼩程序帮助开发者抹平了这些差异,只要专注于环境就可以了。
⼩程序通过把复杂的各式环境封装起来,给上层开发者提供了简单、统⼀的接⼝,换句话说,就是⼩程序框架把⿇烦的各种平台适配⼯作都做完了。
⼩程序在各个平台采⽤的脚本执⾏和渲染环境也各不相同,如下。
运⾏环境逻辑层渲染层
iOS JavaScriptCore WKWebView
Android V8XWeb(腾讯⾃研,基于Mobile Chrome内核)
网页游戏小游戏
PC Chrome内核Chrome内核
⼩程序开发⼯具NW.js Chrome WebView
2 相关技术
2.1 NW.js
NW.js和Electron类似,是⼀个⽤JS语⾔开发跨平台桌⾯应⽤的框架,⽐较有名的WhatsApp、钉钉、开发者⼯具都⽤它开发,但现在发展⽐Electron落后很多。
2.2 浏览器内核
WebKit是个历史很悠久的浏览器内核,它源于KDE开源项⽬,兴盛于苹果的Safari浏览器。WebKit由两部分组成,⼀部分是WebCore排版引擎,⽤来解析HTML语⾔和CSS框架;另⼀部分是JavaScript C
ore引擎,⽤来执⾏JS脚本。Google在WebKit开源项⽬基础上,继承了WebKit的WebCore部分,但是把JS引擎替换成了⾃家的V8引擎,⼤⼤提⾼了JS脚本的执⾏速度。同时,Google还对WebKit源代码重新梳理,提⾼了代码的可读性,并且编译效率更⾼,从⽽拥有了⾃⼰的开源项⽬--Chromium。
⽬前国内⽐较知名的QQ浏览器、360浏览器、搜狗浏览器等都是基于Chromium内核开发的。
2.3 Chrome和Chromimu
Chrome和Chromimu不是等同关系,Chromimu是个开源的浏览器内核,但Chrome浏览器不是开源的,只是⼀个基于Chromimu开源代码的商业产品。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。