使用react-native框架开发APP总结。

先交代一下背景,项目已经开发出web端,小程序端。在这之后,需要开发APP,对于React,es6已经运用的很熟悉了,所以采用了react 系列的React-native技术,因为是第一次使用react-native,还是有很多欠考虑的地方,欢迎交流。

一、当架子已经搭起来,需要考虑如下问题:

  1. Navigator react是单页面开发,一个性能好的Navigator组件很重要,我这里用的是react-native-deprecated-custom-components
  2. 首页标签栏组件。要根据需求的不同来选择不同的首页的组件,比如说标签栏切换时是否需要更新数据,这个当时没有选好导致在后期还要做很多优化,一个页面也许会调用多次同样的API,导致性能降低。
  3. 调用API使用的ajax。建议使用fetch或者superAgent。react-native 自带全局变量fetch。但这两个都很好,但具体使用哪个,我觉得可以根据后台API来选择不同的ajax。
  4. 复杂的页面的布局。因为第一次写APP,在写首页的时候,犯了一个很大的错误,模拟器跑出来的效果和要求的效果有很大的差距。查找原因发现是布局的原因,但是如果修改可能需要1个礼拜甚至还多的时间,所以,只能采取一个临时的办法解决。
  5. 使用什么UI,因为是第一次开发,我们全都采用了react-native原生标签,如果条件允许,可以使用UI组件库,蚂蚁金符的react-native的UI或者是NativeBase(推荐)。

二、react-native 兼容性问题

兼容性问题可能是安卓手机开发最头疼的问题,这点尤其体现在这个框架,这里简单说说遇到过的问题,因为只是第一版开发,兼容性并不能完全保证,如果遇到过类似的问题,欢迎留言交流。

  1. redMi note 5 屏幕下方有黑边,这款手机屏幕的比例和其他手机比起来有些略长。
  2. 组件react-native-image-picker在调用相册时,不能把所有型号手机中的视频过滤掉,甚至mate10 8.1的版本选择视频会跳到其他初始画面。
  3. iphoneX也许会出现数据刷新后,会出现数据重复的现象。

三、这个框架的优点

  1. 开发APP入门较为简单,使用js即可编写APP,前端拓展的利器。
  2. 混合开发,一套代码,多平台使用,官方好像是说75%的代码重用率,实际项目中代码重用率更高,如果代码不同的地方使用第三方组件,那么代码重用率也许会到90%-95%,也就说开发周期会缩短很多。
  3. 当遇到功能瓶颈的时候,可以使用Object-C原生开发。

猜你喜欢

转载自blog.csdn.net/qq_33836073/article/details/84530757