导航一直是App
开发中比较重要的一个组件,ReactNative
提供了两种导航组件供我们使用,分别是:NavigatorIOS
和Navigator
,但是前者只能用于iOS
平台,后者在ReactNative
0.44版本以后已经被移除了。好在有人提供了更好的导航组件,就是我们今天要讲的react-navigation
,并且ReactNative
官方更推荐我们使用此组件。
本篇文章主要说一下如何利用ReactNative
的jsbundle
机制来实现App
的热更新。
前段时间iOS
界发生了一件大事,苹果禁止含有热更新或者热修复的APP
上架,这里主要是禁止使用runtime
的一些特性。但是ReactNative
不同,它没有使用到runtime
特性,并且好多人已经证实,ReactNative
应用依然可以上线。
其实好多应用并不是使用ReactNative
直接开发,而是在原生应用的基础上,导入ReactNative
。iOS
最好使用cocoapods
导入,Android
使用build.gradle
添加依赖包。本篇文章主要包含三个部分:环境搭建、iOS
热更新和Android
热更新。
写在此文章之前
最近一直在研究Android
,我开始学习Android
是有原因的,前段时间写过一个类似于一元夺宝的跨平台APP,里面的好多功能是ReactNative
没有提供的,好在现在ReactNative
开源社区里面已经有好多优秀的开源库了,就直接拿来用了,但是,这并不能满足开发中一些特殊的需求,这个时候就要写js和原生之间的桥接了,因为我的老本就是iOS
,所以写iOS
的桥接很容易。但是写Adnroid
就有点费力了,因为我对Android
一窍不通。但是想学好ReactNative
,只会iOS
是不行的,所以我就开始了我的Android
之旅。还有,假如ReactNative
在以后死掉了,我也新郑了Android
开发这一新技能,一本万利。
Android
的博客也写了几篇了,我要回过头来说一些ReactNative
的东西,所以,如果你看到我今天在说Android
,明天又说ReactNative
,你不要奇怪,这很正常。
那今天就先来说说关于js和原生的桥接。
阅读全文