我正在研究基于Cordova的混合应用程序与React Native的比较,并对React Nation模块与Cordova插件的区别感到困惑?
(如果两者相同,那么FB为什么要重新发明轮子)
React Native模块是否像Cordova一样支持所有设备功能?
谢谢,Rohit
React Native模块与Cordova插件有何不同?
React Native Modules和Cordova Plugins都执行相同的任务:它们允许调用框架(React Nation或Cordova)调用特定的本机功能,而这些功能在框架中默认不可用。
因此,React native模块提供的本地功能可能与Cordova插件提供的相同,但它们与上面的框架有不同的接口。因此,可以分解出常见的本地代码,并拥有一个本地组件,该组件既可以作为React native模块,也可以作为Cordova插件。
例如,反应原生背景地理定位与cordova背景地理定位。
由于只有与本机功能的接口不同,因此有人试图编写一个桥接器,以允许Cordova插件用作React native中的模块,例如React native Cordova。
主要区别在于Cordova使用HTML5+CSS+JS构建混合应用程序。您的应用程序仍将在网络视图中运行。虽然我从未使用过它,但我可以评论一些
这是什么意思
- 我不确定是否支持重要功能,如蓝牙、图形、图像(核心图形、核心图像)和其他核心功能
- 性能也将与本机应用程序不同
React Native在这里有所不同,因为它所做的只是将JS代码转换为平台的本地代码。性能仍然不可能相同,但相对较高。
此外,如果找不到其他人已经创建的模块,您可以为应用程序使用本机模块,因此React native 仍然可以访问平台下可访问的每个功能