1、RN里面有个JS运行环境,类似于浏览器一样可以解析运行js代码,然后维持一个DOM模型;跟浏览器不同的是,渲染界面的使用native界面来实现的;
2、提供一套接口扩展机制,模块扩展自定义在js自定义功能,组件扩展:编写自定义的react组件;
JS调用JAVA : nativeModules
js通过require('NativeModules')获取native模块,然后直接调用native公开的方法;
JAVA调用JS : 获取JSModule对象,
catalystInstance.getJSModule 方法获取JS 对象,然后直接访问对象方法runApplication。实际上getJSModule 返回的是js对象在java层的映射对象。