Dore 混合应用框架 —— 基于 React Native 的混合应用迁移方案
时间:2022-04-24
本文章向大家介绍Dore 混合应用框架 —— 基于 React Native 的混合应用迁移方案,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
上个周末,在写我的年终总结,有了一点新灵感 —— 其实是 xxx 原因。
在半年前的那篇《我们是如何将 Cordova 应用嵌入到 React Native 中》中,我介绍了如何将 Cordova 嵌入 React Native 应用中。
考虑到有大量的 Cordova 应用,会在未来迁移到 React Native 中,便写了 Dore。
Dore 是一个使用 React Native 实现的 WebView 容器,可以让你在 WebView 调用 React Native 组件。
其设计初衷:用于迁移 Cordova 的 WebView 应用到 React Native 的 WebView。
当然,仍然有更多的插件在开发之中,为了训练一下我编写原生代码的能力。我将改写一些 Java、Objective-C 的原生代码,未来会考虑使用 Swift。
Dore 使用示例
在 WebView 里,我们可以直接调用,类似于 cordova.plugins:
DoreClient.lockToLandscape();DoreClient.setBrightnessLevel(0.2);DoreClient.isTablet().then(function(data) {});
在 React Native 使用起来也比较简单,在 WebView 的 onMessage 调用 Dore。
onMessage = evt => { Dore.handleMessage(evt, this.webView)};
对应的,只需要注入相应的原生模块,就可以调用第三方的原生模块——前提是我们已经对接了:
Dore.inject([{ name: 'Toast', class: Toast}
当前支持以下的插件:
- BackHandler (Android)
- Brightness (by react-native-device-brightness)
- Console
- DeviceInfo (by react-native-device-info)
- Geolocation
- Keyboard
- NetInfo
- Orientation
- Permissions (by react-native-permissions)
- State
- StatusBar
- Toast (by dore-toast)
- Vibration
还有其它插件,等着你来一起开发。
- JavaScript 学习一
- 与Ajax同样重要的jQuery(2)
- 寻找第K元素的八大算法、源码及拓展
- 索引优先队列-IndexedPrirotyQueue的原理及实现(源码)
- Java 集合系列02之 Collection架构
- 开发者需要掌握的JS事件
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Kosaraju算法、Tarjan算法分析及证明--强连通分量的线性算法
- 关于curl网站运维与开发的那些事
- 并查集Union-find及其在最小生成树中的应用
- go 语言的库文件放在哪里?如何通过nginx代理后还能正确获取远程地址
- 离线Tarjan算法-最近公共祖先问题
- Java文件上传下载实训
- 【网络编程系列】二:socket通信原理及实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Sublime怎么默认显示文件路径
- Git 删除已提交的文件
- Sublime 怎么装SQL语法检测器
- Vue 设置环境变量和模式
- 你真的掌握了Python基本语法了吗?
- Mybatis-Generator 代码生成器的使用
- 提高数据分析工作效率-Sublime如何设置默认打开文件格式
- 使用 freemarker 制作代码生成器
- 假期闲的慌,不如做一点SQL基础练习吧
- Vue 中全局过滤器的使用
- 游戏-CSP201712-2-Java
- Mybatis generator 生成 Mapper 方法不全
- Vue 中使用 JQuery 插件不起作用
- 公共钥匙盒-CSP数组排序练习
- 疫情这么严重,还不待家里学Numpy和Pandas?