React Native之旅—入门

本文介绍了作者在集成React Native到既有iOS和Android项目中的过程,包括准备工作、集成步骤、遇到的问题及解决方案。作者分享了RN带来的便利,如高代码复用率和便捷的跨平台开发,但也指出其带来的包体积增加和编译速度下降等问题。
摘要由CSDN通过智能技术生成

这里写图片描述
开发App也有几年了,从iOS开始,顺手捡上Android,基本打通了App端,自己也一直维护着一个小项目—我爱运动,由于是纯Native的,每次版本迭代都是先做完iOS端,提交审核,然后再回过头来开发Android端,如是多次后,跨平台的需求就逐渐清晰和强烈起来,于是React Native(以下简称 RN)开始进入我的眼帘。
10月份的时候我还心存侥幸的试了一下BuglyHotfix(JSPatch+Bugly后台,的确方便、好用),妥妥的被苹果打回来了(虽然按照Bugly的demo工程做了一些混淆),进一步促成我React Native之旅的开始。

准备工作

在正式开始前,先查看了一些集成到现有Native工程的文章,当时最新的RN版本是0.49,做了2个demo,一个纯Objective-C(以下简称 OC)的demo工程集成很顺利,一个纯Swift的demo工程就没有那么顺利了,各种折腾(好像工程的入口必须要main.m–>AppDelegate.m这样,只有AppDelegate.swift似乎无法正常读取),最后也没折腾太明白。

旧工程集成-iOS

由于我的iOS工程是Swift为主(入口是Swift的–AppDelegate.swift),OC为辅,加上前面没有彻底解决Swift工程的集成问题,便直接用 react-native init ProjectName 新建了RN项目(iOS工程默认用的OC),并将AppDelegate.swift中的内容搬到AppDelegate.m中,其它文件(包括.swift文件)倒是不用调整,直接Add Files to project即可(Xcode9下直接拖进去可能有问题)。

旧工程集成-Android

在 react-native init 时相应的工程配置已经就绪,所以直接加入原来的那些文件即可(Java文件、资源文件直接复制粘贴,Module重新导入)。

加入RN新内容

用js开发并调试好新内容后,就可以在Native中使用了。
对于iOS,只要获取到对应的RCTRootView就可以很方便的使用了。

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:url moduleName:mName initialProperties:nil launchOptions:nil];
self.view=rootView;

对于Android来说,也基本类似。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值