一、关于React Native
1. 什么是React Native?
React Native(RN)是facebook开源的一套用于开发移动端跨平台App的技术框架。RN用于开发原生App可以解决基于Web开发的应用所面对的性能和权限问题。而React与RN之间,RN的开发过程不需要编写div和span标签,而要使用视图以及文本组件,以及有权限调用原生工具,
它与Cordova类似,但是,Cordova是运行在webview中,通过调用原生API获得原生级别的功能,而RN组件会被 直接渲染成原生部件,可以为移动应用提供真正的原生体验,而Cordova应用在遇到滚动这样的高强度的UI交互场景时,可能 会发生崩溃。
2. 相较于原生开的,React Native开发的优势?
传统开发痛点:
- 人员稀缺,一个app针对 不同平台需要分端开发
- 开发成本高,需要android 和IOS两个团队,对于小团队不友好
- 代码复用率低:不同端代码不通用
- 无法动态更新,每次更新都需要向应用市场分别上传新的包,还要担心审核被拒等问题
React Native的优点:
- 跨平台、低投入高回报、性能高(比H5+WebView的方式高很多)、支持动态更新。
- 一才两用,开发成本低(只需要一端),代码复用率高,
二、环境搭建
在React Native官网可以看到有两套脚手架工具:expo-cli
(沙箱环境)和react-native-cli
(完整环境),expo对网络环境的要求比较高,很多依赖出自国外,不建议国内用户使用。
- 安装教程,官网说得很明白:安装依赖