RN 中 Native 与 JS 的通信机制基本分析完成,总结主要有以下几点:
- RN 项目中涉及多种语言,但 Native 与 JS 的通信发生在C++与JavaScript间;
- 双方具体负责通信的分别是:Native 的JSCExecutor与 JS 的MessageQueue;
- 在 Native 侧维护了一份曝露给 JS 的 module 注册表,在 JS 侧维护了一份曝露给 Native 的 module 注册表;
- RN 中 Native to JS 的通信没有使用JavaScriptCore提供的机制(block、JSExport),而是自己实现了一套跨平台通信机制。