现在解析一下modular的核心源码,代码在上一个博文中给出了git下载地址。如今都在喊大前前端研发,但HTML要依赖Native端的能力还是需要对应的原生研发,本人开源了框架代码,也希望有志同道合的码农一起继续完善框架代码,欢迎各位来拍砖!大家有什么建议,可以直接给我email: [email protected]
接下来我们分几个部分讲解
1. 框架流程图及实现简要说明
2. Javascript端的实现
3. WebView引擎的实现
4. 插件池引擎的实现
架构流程图及核心实现简要说明
- 图中1-2构造浏览器内核控件WebView,加载渲染HTML;
- 图中3-4 往HTML中注入JS对象,本质上是给浏览器内核控件WebView加载渲染HTML的对象中注入JS对象,此JS对象在HTML DOM中是全局变量Window的一个对象属性;
- 图中5-6 APP通过读取资源目录里的插件配置,根据配置中配置的参数,利用反射机制构造插件对象,并将构造的插件对象存储到插件池中,并为其建一个索引,索引规则:采用插件配置中唯一性字段name;
- 上述1-6个步骤完成插件的注册过程;
- 图中7-8 HTML 调用上述注入到Window的对象的方法,WebView的JS桥接器就会调用原生端插件池中的对象方法