一,Weex架构优化
首先,我们来看一下weex的架构演变,从架构图中可以看到,它一步步的增加了WeexCore,EagleCore等模块。下面我们就来了解一下这些模块的演进。
1,JS引擎的演进
weex早期在Android上使用的是V8,但经过测试,JavaScriptCore的性能比V8的性能更好,所以便用JavaScriptCore全面替代了V8
2,WeexCore的演进
可以看到,weex最早版本只使用了和V8和JSFramework两个模块,V8主要负责js的解析。但因为js framework是js代码,效率上难免会有一些问题,所以后来便增加了WeexCore,WeexCore的主要功能便是分担JsFramework中的部分功能。
我们先了解下JsFramework的功能,他主要有下面几个部分
- 适配前端框架
- 构建渲染指令树
- JS-Native通信
- JS Service–解决跨页面复用和状态共享问题
所以,WeexCore的功能,便是用C++代码实现并逐步替代JsFramework的功能,如构建渲染指令树,即JSFramework 输出的渲染指令直接交给 WeexCore 中的 RenderManager,如与native的通信等功能,目前都已经移到了WeexCore,