使用 Create React Native App 快速开发 RN 应用

@GuoYongfeng 2017-03-20 05:33:23发表于 iuap-design/blog

作者:郭永峰,原文请访问Introducing Create React Native App
温馨提示:全文阅读需要 5 分钟左右,本章中提供的部分文章或资源链接需要自行拿梯子翻墙查阅哦~!

create-react-native-app 是一款非常易用的 CLI 命令行工具,它可以帮助我们快速启动 React Native 项目的开发工作。受到 create-react-app 的设计思路的启发,Facebook 和 Expo 两个公司的开发团队一起合作开发了这个神奇的工具。

许多开发者在使用 React Native 进行开发的时候经常困惑于如何安装以及配置相关的工具和依赖等问题,尤其是对于安卓开发,几乎就得换个 mac 本了。不过使用 create-react-native-app 这个工具的话,麻麻再也不用我的学习了,Xcode 和 Android Studio 也不需要了,你可以在 linux 和 windows 系统上轻松开发 IOS 应用。

OK,让我们通过几行命令来快速开发一个新工程吧:

(熟悉 Yarn 的同学建议用 yarn来安装,体验加速度~!)

# 目前是 0.0.6 版本
$ yarn global add create-react-native-app
# 初始化项目的时候,你可以去泡杯咖啡小憩片刻,因为这可能需要五六分钟
# 初始化操作连生成项目代码和安装依赖都是一起进行的
$ create-react-native-app my-project
$ cd my-project
$ npm start

运行完之后,你就能够启动一个 RN 应用并且看到打印出来的信息。打开 Expo app 去加载你的 JS 资源,你也可以像使用 Expo SDK一样去轻松的引用标准的 React Native APIs。

What about native code?

目前许多 React Native 项目都是使用 Java 或是 Objective-C/Swift 来构建的,并且还需要进一步的编译才能完成,而 Expo app 本身就提供了非常丰富的 API,帮助我们轻松的调用camera, video, contacts等。并且能够像 Airbnb’s react-native-mapsFacebook authentication 一样打包出流行的 library。

However if you need a native code dependency that Expo doesn’t bundle then you’ll probably need to have your own build configuration for it. Just like Create React App, “ejecting” is supported by CRNA.

You can run npm run eject to get a project very similar to what react-native init would generate. At that point you’ll need Xcode and/or Android Studio just as you would if you started with react-native init , adding libraries with react-native link will work, and you’ll have full control over the native code compilation process.