React Native SDK集成与引入

486 阅读2分钟

背景:已有的原生应用中集成React Native。

问题:React Native官方推荐的集成方式在已有的项目中不太现实,因为这种方式需要原生工程对React Native框架有过度的依赖。

策略:采取WYReactNative的新方法,即将React Native框架抽离,并作为一个第三方库集成到现有项目中。在iOS环境中,将React Native框架和相关资源文件放在私有的pod仓库中,然后在原生工程中引入这个pod。

效果:这样一来,原生和React Native工程实现了相互独立,减少了依赖,简化了开发流程。对于原生开发者和React Native开发者,他们可以各自进行开发,互不干扰。而且,在页面跳转时,只需按照既定的路由协议操作即可。

React Native 集成与引入

基础建设中,遇到的第一个问题是把React Native 引进来。

按照React Native的官方的推荐引入方式,React Native工程是一个主工程,iOS和安卓工程作为两个子工程放入其中,原生端依靠React Native提供的框架和资源才能运行。这种方式让原生端对React Native框架形成依赖。

一个全新的应用可以采用这种方式,但把现有的原生工程嵌入到React Native工程中,不太现实。因此我们改造了React Native集成到项目的方式

WYReactNative的做法是把React Native框架抽离出来,作为一个第三方库集成到现有项目中。以iOS为例,把React Native框架和相关资源文件抽取放到我们的私有pod仓库中,原生工程引入这个pod,这样React Native框架就以一种无依赖的方式集成到现有项目中了。

这种方式的好处在于,原生和RN相互独立,原生工程不再依赖于React Native框架,对于纯原生开发人员来说,React Native只是一个类似AFNetwork的第三方库,可以随时引入,对原生开发不会产生影响。对于RN开发来说,可以单独开发,开发产物上传到远程仓库即可。两端需要交流的也就是页面跳转的时候,按照我们的路由协议提供可对方即可。