专栏首页非著名程序员环境配置:React Native 开发环境配置 For Android

环境配置:React Native 开发环境配置 For Android

React Native 是FaceBook开源的一个项目,FaceBook希望可以用写 Web App 的方式去写 Native App。它可以让我们用JS和React来开发应用,使用React Native可以通吃Android 和 IOS ,以及Web,仅仅需要一份业务逻辑代码就可以来创建我们的应用。

起源

React Native 是由 React 衍生出来的,而 React 起源于 Facebook 的内部项目,因为FaceBook对市场上所有 JavaScript MVC 框架,都不太满意,就决定自己写一套,用来架设自己的 Instagram 的网站。等做出来以后,发现这套东西很不错,而且好用,就在2013年5月开源了。

而衍生的 React Native 项目,希望用写 Web App 的方式去写 Native App。这样同一组人只需要写一次 UI ,就能同时运行在服务器、浏览器和手机上。FaceBook最早发布的关于React Native是针对IOS的,而React Native for Android是在去年也就是2015年9月15日开源发布的。现阶段React Native的体验虽然已经很不错了,只能说很接近原生应用,但是还是不能达到Native App的体验。所以它很火,将来的事,我们将来说,但是目前已经非常火了,多门技术,多条路。我们也应该学学了。

环境搭建

因为我用的是macbook,所以这次环境搭建是根据mac电脑来说的,不过大家放心,针对windows电脑的环境搭建,我会分享给大家一篇文章或者视频的,不会忘了你们的。

Homebrew安装

Homebrew是一款自由及开放源代码的软件包管理系统,用以简化Mac OS X系统上的软件安装过程,Homebrew以Ruby语言写成,针对于Mac OS X操作系统自带Ruby的版本。默认安装在/usr/local,由一个核心git版本库构成,以使用户能更新Homebrew。是 OS X 不可或缺的套件管理器。 安装之前,你可以先检查一下电脑上是否已经安装了Homebrew,检查方式如下: 在终端执行下列命令:

brew -v

如果已经安装了,就像下图一样,显示版本号。

如果没有安装,那就可以用下面这种方式,进行安装,在终端上直接输入下面的命令即可:

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

Node.js的安装

Node.js®是一个基于Chrome V8 引擎的 JavaScript 运行时。 Node.js 使用高效、轻量级的事件驱动、非阻塞 I/O 模型。Node.js 之生态系统是目前最大的开源包管理系统。我们都知道React Native是需要使用js开发的,所以Node.js是必不可少的安装。

安装Node.js也很简单,如下:

nvm install node && nvm alias default node

可能你发现了,在Terminal终端上使用的命令是nvm,如果你没有安装nvm是会提示command not found的,所以我们还得先安装nvm。 nvm 是 Node.js 的版本管理器,可以轻松安装各个版本的 Node.js 版本。安装方式如下: 我们可以通过Homebrew安装:

brew install nvm

或者通过这里的方式安装,地址:https://github.com/creationix/nvm#installation

安装完了nvm,我们这里最好配置一下环境变量到.bash_profile文件,因为如果不配置的话,容易出现这个错误nvm command not found。 配置方式如下:

export NVM_DIR="/Users/loonggg/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

检查是否安装好了node和nvm我们可以通过如下方式:

bogon:~ loonggg$ node -v
v5.10.1
bogon:~ loonggg$ npm -v
3.8.3

安装watchman 和 flow

  • Watchman 是 facebook 的一个开源项目,它开源用来监视文件并且记录文件的改动情况,当文件变更它可以触发一些操作,例如执行一些命令等等。
  • flow是一个Javascript静态类型检查器。Flow为Javascript添加了静态类型检查,以提高开发效率和代码质量。

安装方式如下:

brew install watchman
brew install flow

安装React Native

我们使用npm进行安装,如下:

npm install -g react-native-cli

安装完React Native之后,要想运行或者初始化一个项目,然后运行到模拟器或者真机,我们需要搭建一个Android或者ios开发环境,我这里只介绍android,相信想学习React Native的同学,电脑上都基本上有了Android的开发环境。但是可能会有坑,有一个大坑就是得配置SDK的环境变量:ANDROID_HOME。

SDK环境变量的配置

  1. 启动Terminal终端工具
  2. 输入cd ~/ 进入当前用户的home目录
  3. 创建: touch .bash_profile
  4. 打开并编辑: open .bash_profile
  5. 在文件中写入以下内容:export PATH=${PATH}:/Users/loonggg/Application/android-sdk-mac_x86/tools:/Users/loonggg/Application/android-sdk-mac_x86/platform-tools 友情提示:上述路径,请换成自己电脑上的SDK所在路径
  6. 执行如下命令: source .bash_profile
  7. 验证:输入adb回车。如果未显示command not found,说明此命令有效,环境便亮设置完成。

创建我们的第一个React Native应用

初始化项目

react-native init AwesomeProject

上面的AwesomeProject这个项目名字,你可以自己随意定义,自己命名,没有限制。

运行项目

  • 切换到AwesomeProject的主目录
  • 运行项目命令 react-native run-android
  • 我们使用编辑器打开和修改index.android.js文件,调出模拟器菜单键,选择重新载入 js 即可看到变化。 启动后,模拟器效果图:

本文分享自微信公众号 - 非著名程序员(non-famous-coder),作者:loonggg

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-10-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android Material Design系列之Navigation Drawer

    从今天开始,我们讲一个关于Material Design风格控件系列的文章。个人认为Material Design风格还是非常漂亮和好看的。关于Material...

    非著名程序员
  • Android实现竖着的滑动刻度尺效果,选择身高(竖向的)

    这次是你想要的效果哦!高兴了吧?高兴地话,你不用给我打赏,分享到朋友圈,我就很高兴了。 群里有人问我要竖着的滑动尺效果,前天我贱贱地分享了一个横向的滑动效果,...

    非著名程序员
  • Android 图片选择到裁剪之步步深坑

    前言 最近在自己的项目里实现了一个头像选择的功能,就是先从相册里选取一张图片再调用系统的裁剪功能来制作头像,效果就像下面这样: ? 本以为很小的一个功能,却远远...

    非著名程序员
  • 轻松学Pytorch-自定义数据集制作与使用

    大家好,这是轻松学Pytorch系列的第六篇分享,本篇你将学会如何从头开始制作自己的数据集,并通过DataLoader实现加载。本文以人脸Landmard五点的...

    OpenCV学堂
  • 八大排序算法使用Python实现(干货)

    比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所...

    Python知识大全
  • C# insert into 一条记录后获取该记录的自动增长列ID

    create table test ( id int identity(1,1) not null, name nvarchar(20) )

    aehyok
  • 视觉问答:VQA经典模型Up-Down以及VQA 2017challenge 冠军方案解读

    DeepAction七期飞跃计划还剩3个名额,联系小编,获取你的专属算法工程师学习计划(联系小编SIGAI_NO1)

    SIGAI学习与实践平台
  • 清华大学邓志东教授:国内研究氛围浮躁,原创性算法太少

    AI 科技评论按:自去年 3 月 AlphaGo 战胜李世乭后,人工智能「突如一夜春风来」地步入人们视线,业已成为家喻户晓的一个名词。目前,以深度卷积神经网络为...

    AI科技评论
  • 分库分表后,如何部署上线?

    大致思路就是,挂一个公告,半夜停机升级,然后半夜把服务停了,跑数据迁移程序,进行数据迁移。

    java进阶架构师
  • vue -- 动态加载组件 (tap 栏效果)

    在 vue 中,实现 Tab 切换主要有三种方式:使用动态组件,使用 vue-router 路由,使用第三方插件。

    小蔚

扫码关注云+社区

领取腾讯云代金券