前言
虽然大维哥从事编程的时间不是很长,但是一直认为未来计算机语言的发展必将是跨平台,动态灵活。大家都清楚,React-Native是2015年facebook开源的,同年9月支持安卓,也就是一份代码支持2个平台,并且可以动态增加功能模块。React-Native就是在开发效率和用户体验间做的一种权衡。React-native是使用JS开发,开发效率高、发布能力强,不仅拥有hybrid的开发效率,同时拥有native app相媲美的用户体验。目前腾讯,百度,阿里都有试水,阿里投入最多(天猫,支付宝)。
前提条件
对于React-Native开发,至少需要了解和掌握的有:
Java,Object-C,JavaScript ,Node.js基础,JSX语法基础,FlexBox布局,简单ruby命令
需要一台Mac(OSX),因为Mac自带ruby,这个是前提,建议还是入手一本啦,Mac的体验和开发效率比pc还是高不少。我们公司大部分安卓都是用自己的Mac开发。
必需的软件
Homebrew,Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
译注:在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题。可以使用下面的命令修复:
sudo chown -R `whoami` /usr/local
使用Homebrew来安装Node.js.
brew install node
React Native的命令行工具(react-native-cli)
React Native的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。
npm install -g react-native-cli
如果你看到EACCES: permission denied这样的权限报错,那么请参照上文的homebrew译注,修复/usr/local目录的所有权:
sudo chown -R `whoami` /usr/local
React Native目前需要Xcode7.0 或更高版本。你可以通过App Store或是到Apple开发者官网上下载。这一步骤会同时安装Xcode IDE和Xcode的命令行工具。
虽然一般来说命令行工具都是默认安装了,但你最好还是启动Xcode,并在Xcode | Preferences | Locations菜单中检查一下是否装有某个版本的Command Line Tools。Xcode的命令行工具中也包含一些必须的工具,比如git等。
Android Studiod
安卓开发需要,这里以iOS介绍为主,请自行百度安装。
推荐安装的工具
Watchman是由Facebook提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager可以快速捕捉文件的变化从而实现实时刷新)。
brew install watchman
Flow是一个静态的JS类型检查工具。译注:你在很多示例中看到的奇奇怪怪的冒号问号,以及方法参数中像类型一样的写法,都是属于这个flow工具的语法。这一语法并不属于ES标准,只是Facebook自家的代码规范。所以新手可以直接跳过(即不需要安装这一工具,也不建议去费力学习flow相关语法)。
brew install flow
Nuclide是由Facebook提供的基于atom的集成开发环境,可用于编写、运行和调试React Native应用。
安装Nuclide先要安装Atom,下面是我截的一张用Atom编写js的图:
点击这里阅读Nuclide的入门文档。
测试安装
react-native init HelloWorld
cd HelloWorld
react-native run-ios
react-native init HelloWorld 执行后,会有HelloWorld文件夹:其中,iOS是iOS所需的文件,android是安卓所需文件,js文件安卓和iOS是一样的,这就是为什么react native能跨平台。
你也可以在Nuclide中打开AwesomeProject文件夹 然后运行,或是双击ios/AwesomeProject.xcodeproj文件然后在Xcode中点击Run按钮。
如果是安卓:
$react-native run-android
恭喜!你已经成功运行你的第一个React Native应用