上个周末,在写个人年终总结,有了一点新灵感 —— 实际上是 xxx 的缘由。react
在半年前的那篇《咱们是如何将 Cordova 应用嵌入到 React Native 中》中,我介绍了如何将 Cordova 嵌入 React Native 应用中。git
考虑到有大量的 Cordova 应用,会在将来迁移到 React Native 中,便写了 Dore。github
Dore 是一个使用 React Native 实现的 WebView 容器,能够让你在 WebView 调用 React Native 组件。web
其设计初衷:用于迁移 Cordova 的 WebView 应用到 React Native 的 WebView。react-native
固然,仍然有更多的插件在开发之中,为了训练一下我编写原生代码的能力。我将改写一些 Java、Objective-C 的原生代码,将来会考虑使用 Swift。bash
在 WebView 里,咱们能够直接调用,相似于 cordova.plugins:this
DoreClient.lockToLandscape();
DoreClient.setBrightnessLevel(0.2);
DoreClient.isTablet().then(function(data) {
});
复制代码
在 React Native 使用起来也比较简单,在 WebView 的 onMessage 调用 Dore。spa
onMessage = evt => {
Dore.handleMessage(evt, this.webView)
};
复制代码
对应的,只须要注入相应的原生模块,就能够调用第三方的原生模块——前提是咱们已经对接了:插件
Dore.inject([{
name: 'Toast',
class: Toast
}
复制代码
当前支持如下的插件:设计
还有其它插件,等着你来一块儿开发。