React-Native (faceBook 开源项目初探)

作者:佛前一粒沙    发布于:

[ react-native (faceBook 开源项目初探) ]

注:本文摘自:

http://www.csdn.net/article/2015-09-24/2825787-react-native

这2天react-native放出源码,凭着facebook牌子和通过js编写原生应用的特点很快就热了起来,github的star过万应该毫无悬念。目前放出
来的是ios版本,后续还会放出android版本,在加上之前的reactjs,那一份代码搞定三个平台并非不可能,于是我也下了个react-
native来体验一把。

注:附上:Github 上的开源库下载地址

https://github.com/facebook/react-native

注:使用这个开源框架可能会需要其他工具

根据 官方推荐使用homebrew来安装nodejs,watchman,flow等相关 工具,那我们首先安装homebrew:

1. 首先,使用 Homebrew 官网提供的指引 安装 Homebrew ,然后在终端执行以下命 令 :
(注:该超链有的可能打不开,需要翻墙才能打开)

打开电脑中的终端

输入以下命令来安装 Homebrew

ruby -e “ $( curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install
)”

如果安装成功的话 (命令行输入 brew -v 查看安装版本)

mac-2:~ srain$ brew -v

Homebrew 0.9.5 (git revision ac9a7; last commit 2015-09-21)

版本过低将会导致无法安装后续几个组件。 可用 brew update 升级。

2.接下来,安装其他几个工具包

Node.js npm

Node.js 需要 4.0 及其以上版本。安装好之后,npm 也有了。

    • 通过 nvm 安装 Node.js

nvm 是 Node.js 的版本管理器,可以轻松安装各个版本的 Node.js 版本。

安装 nvm 可以通过 Homebrew 安装:

brew install nvm

或者按照 这里 的方法安装。
(注:个人觉得命令行来的比较快)

安装完成 (注: 检测是否安装成功 命令行 nvm -v 查看版本)

如图:

3. 接下来 安装Node.js

命令行 输入以下命令:

nvm install node && nvm alias default node

也可以直接下载安装 Node.js: https://nodejs.org/en/download/

(注:我这里 用命令行输入 安装不了 然后去官网下载了一个Node.js 的dmg 文件,然后安装成功)

检测是否安装成功 (注 : 命令行输入:node -v )

如下图:

4. 接下来安装watchman 和flow

安装 watchman
flow

这两个包分别是监控文件变化和类型检查的。安装如下:

brew install watchman
brew install flow

5.接下就到重点了

安装 React-Native

通过 npm 安装即可:

npm install -g react-native-cli

检查是否安装成功(注:命令行输入 react-native -v)

输出如下图

6. 查看配置是否能用

App开发环境的设置

iOS

XCode 6.3 及其以上即可。

Android

这个比较麻烦。

  • 设置环境变量:ANDROID_HOME
export ANDROID_HOME=/usr/local/opt/android-sdk
  • SDK Manager 安装以下包:
  1. Android SDK Build-tools version 23.0.1
  2. Android 6.0 (API 23)
  3. Android Support Repository

至此,我们所有的配置和工具包已经全部完成了(接下来就要进入实战了)

1.创建我的第一个 React-Native 项目

1.打开终端 cd 到你要放置项目的位置

然后输入命令:

react-native init Dome1

初始化一个项目,其中 Dome1 是项目名字,这个随意。 等待一段时间之后 ( 具体视网络情况而定 ),项目初始化完成。( 注:
这里的等待有点长,视情况而定)

如下图:

演示 ( 这里我要在桌面创建一个 名称为Dome2 的工程)

(注:这里的需要等待一段时间,要有耐心)

创建成功后:

这里可以看到 两个版本:( 一个ios 版本,一个安卓版本 )然后,我们看看桌面,我们发现了什么

如图:dome2 已经存在了

接下来 :打开看看:

这里你没有看错 ( 接下来我就只用操作两个文件就Ok了,一个index.android.js,一个是index.ios.js);

接下来,打开ios文件夹(这里的项目架构和我的的项目架构一样)

接下来, 打开我们的项目(这里是整个项目架构)

接下来, 来看我们的AppDeget (是不是要看到了什么了 )

接下来 , 运行项目:

不管是 iOS 还是 Android,在开发调试阶段,都需要在 Mac 上启动一个 HTTP 服务,称为“Debug Server”,默认运行在 8081
端口,APP 通 Debug Server 加载 js。

iOS 和 Android 的模拟器,连接 Mac 本机的服务都很方便。但是通过 USB 或者 WiFi 连接调试,就稍微麻烦一些了。

iOS

还是非常简单,XCode 打开项目,点击运行就好。修改 index.ios.js, 在模拟器中 ⌘ + R 重新载入 js 即可看到相应的变化。

iOS 真机调试也简单,修改HTTP地址即可。

jsCodeLocation = [NSURL URLWithString:@”
http://localhost:8081/index.ios.bundle
“];

Android

按照官方文档,需要一个模拟器(Genymotion模拟器也可以)。但是不像 iOS,Android
开发平时更多是直接用真机进行开发和调试,如何运行部署到真机,下面会提到。

运行命令:

react-native run-android

然后就会部署到模拟器,修改 index.android.js ,调出模拟器菜单键,选择重新载入 js 即可看到变化。

Android 真机调试

示例 App 直接部署到真机,红色界面报错,无法连接到 Debug Server。

如果是 5.0 或者以上机型,可通过 adb 反向代理端口,将 Mac 端口反向代理到测试机上。

adb reverse tcp:8081 tcp:8081

如果 5.0 以下机器,应用安装到测试机上之后,摇动设备,在弹出菜单中选择 Dev Setting > Debug Server host for
device,然后填入 Mac 的 IP 地址(ifconfig 命令可查看本机 IP)

关于修改 DevHelper 来进行和 iOS 一样的开发调试,后续关于热部署时,我会介绍到。

在 Android Studio 中调试开发

我们可能希望在 Android Studio 打开项目,然后编译部署到真机。

这个时候,在命令行启动 Debug Server 即可:

react-native start

接下来极其重要:

(项目中的实战演习,项目中的简单使用)

(简单来说就是两步, 要么创建 JavaScript 文件,要么修改 JavaScript文件,来实现项目中的布局和实现

javaScript 本人不是很熟,附上彩蛋(两篇) :

来自OSChina:

http://www.oschina.net/translate/going-native-with-react

来自知乎:

http://zhuanlan.zhihu.com/FrontendMagazine/19996445

结论和后续

本篇文章,iOS 和 Android 都适用。至此,环境配置和示例项目运行应该都好了。后续我会继续发几篇文章介绍:

  • 重点介绍 Android 相关的开发:包括组件,源码分析等;
  • 动态热部署;
  • 多端代码复用。

参考文档

官方文档: https://facebook.github.io/react-native/docs/getting-
started.html#content

format_list_numbered

(无)

  1. 1. [ react-native (faceBook 开源项目初探) ]
    1. 1.1. App开发环境的设置
      1. 1.1.1. iOS
      2. 1.1.2. iOS
      3. 1.1.3. Android
      4. 1.1.4. Android 真机调试
      5. 1.1.5. 在 Android Studio 中调试开发
    2. 1.2. 参考文档
vertical_align_top

Copyright © 2017 佛前一粒沙的博客

Powered by Hexo & Theme - Vateral