Native项目迁入React-Native过程中遇到的坑(0.4x版本)

本文分享了作者在将原生Android和iOS项目迁移到React-Native过程中遇到的挑战和解决方案,包括授权问题、依赖冲突、JS Bundle问题以及Activity找不到等问题,提供了详细的解决步骤和参考资料。
摘要由CSDN通过智能技术生成

转载请注明出处王亟亟的大牛之路

最近都在忙着搭架子,找框架,谈需求和开会。甚至都没有时间好好装逼,昨天帮安卓的小伙把项目从安卓整体迁移到了RN的项目下面,过程中遇到很多不可描述的坑,这里给大家分享下经验

先安利,安卓收纳库:https://github.com/ddwhan0123/Useful-Open-Source-Android

React-Native收纳库:https://github.com/ddwhan0123/Useful-Open-Source-React-Native


由来

项目刚开始的阶段我还不在场(最初的app完全没有RN/Weex的相关模块),然后在我到岗后产品发现了,React-Native的“美好“,决定把原有的项目重构,7成的业务量迁移到React-Native模块。

人手问题

重构开始前的人员配比
Android: 2人
iOS: 4人
前端:1名(会Vue,会一点React,完全没摸过RN的)

过去一个月后
Android: 3人(有一个能写点简单RN页面)
iOS: 3人(原有的一个被我拽去强行干RN了)
前端:3(会React/Vue不会RN)+2(RN选手,会用Redux等第三方RN库)+1(iOS被强拽的小伙)


模块区分

在分页面之初和产品砍了砍准则
(很多人觉得奇怪,既然如此为什么不用纯RN?我的答案是,你不在位置上你不能理解,纯原生的人难道就待机?)

  • 变动不大的用Native
  • 跟硬件相关的模块用Native
  • 逻辑复杂但是页面本身不复杂的用RN(这条被产品一个巴掌拍回了,他们不管实现难度)
  • 需要热更的用RN
  • 其他省略

然后原生只剩下以下模块

  • 登陆/注册
  • 支付页面
  • WebView相关页面(这块你懂的,强行拽来的)

迁移iOS

建完项目后先是拽iOS部分

这里写图片描述

基本没有遇到任何阻力,10分钟(分支选择耗费了几分钟)就整完了简单的插了个RN页面,跑起来无异常,iOS Over


迁移Android

android长这样(自己项目各有差异,这个无所谓了,反正改安卓,改的不是目录是Gradle配置)

这里写图片描述

1.首先是查看授权,有就算了,没有就加

   <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

    <uses-permission android:name="android.permission.INTERNET" />

两个必要的授权加一下,一个是弹窗,一个是网络

2.项目文件的dependencies里加上RN的依赖

 compile 'com.facebook.react:react-native:+'  // From node_modules

3.android.gradle里添加本地Maven的依赖


                
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值