Windows+Mac下ReactNative环境搭建

1.RN的环境配置

1.1 Windows的RN环境配置

软件需要

注意电脑位数是32/64位对应的软件可能会不同。

1.1.1 Nodejs

Nodejs是ReactNative 的运行基础。

下载链接:https://nodejs.org/en/download/,可以根据自己电脑系统位数选择下载。

安装过程中,选择默认的安装方法即可,安装目录可以自己选择,选择C盘或者其他盘。如果node目录不在系统环境变量PATH中(目前的nodejs是默认设置好的),需要设置下,如果node安装目录是C:\nodejs,那么如下设置:

PATH新增路径;C:\nodejs。

如果安装并设置好路径,可以在终端中输入node -v查看到nodejs的版本号。


1.1.2 Git

GIt用于代码管理,与svn类似的工具,同时在ReactNative中会用Git获取githup上的部分依赖。

下载链接:https://git-scm.com/downloads,可以根据自己电脑系统位数选择下载。

安装完成后,需要设置系统环境变量。如果Git安装目录是C:\Git,那么需要进行如下设置:PATH新增路径;C:\Git\bin


1.1.3 JDK

JDK是Java的运行环境

下载链接:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择合适版本下载。

安装后需要设置下系统环境变量,如果JDK安装目录是C:\Jdk,那么需要如下设置:

新增环境变量JAVA_HOME设置为C:\Jdk

新增环境变量CLASSPATH设置为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

环境变量PATH新增路径;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

设置完成之后,可以在命令行输入java -version查看,若出现以下jdk的版本号,则jdk设置正确。


1.1.4 Android Studio

Android Studio是用于Android sdk等等的管理,也是Android开发工具。

下载地址:http://www.android-studio.org/index.php/download选择自己需要的版本下载,下载的安装程序包含了Android SDK,过程中会对SDK进行解压,3G大小,请注意盘符空间是否够。

安装后需要设置系统环境变量。

如果安装的路径是D:\Program Files\Android\sdk,则需要如下设置:

新增变量ANDROID_HOME为D:\Program Files\Android\sdk

在PATH变量中新增路径

;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

之后可以在命令行输入adb查看是否安装成功。

1.1.5 Genymotion

该工具是安卓虚拟机,它依赖VirtualBox的引擎。安装过程中也会安装VirtualBox。

下载地址:http://pan.baidu.com/s/1btavqY

Genymotion需要注册一个帐号(注册入口),之后个人就可以免费使用了,也会提供很多版本的手机Model供选择。

可以点击Add新建一个模拟器,切记一定要在Settings中ADB下设置SDK的路径。


1.1.6安装react-native命令工具

在命令行中安装react-native-cli,如下:

安装过程可能会比较慢,可以从国内的包管理拉取。npm install -g react-native-cli --registry=https://registry.npm.taobao.org

安装完成以后,react-native在终端就可以使用了。


1.1.7安装Sublime Text3

Sublime Text3用于对RN代码的编写。

下载地址:http://www.sublimetext.com/3


1.2 Mac的RN环境配置

1.2.1所需软件

安装步骤基本与Windows系统一致,所需软件在上述提供的链接中选择合适版本安装。并且Mac下安装上述软件不需手动配置环境变量,系统会自动配好。Genymotion可选择安装。

1.2.2 Xcode

React Native目前需要Xcode 7.0或更高版本。你可以通过App Store或是到Apple开发者官网上下载。这一步骤会同时安装Xcode IDE和Xcode的命令行工具。

虽然一般来说命令行工具都是默认安装了,但你最好还是启动Xcode,并在Xcode | Preferences | Locations菜单中检查一下是否装有某个版本的Command Line Tools。Xcode的命令行工具中也包含一些必须的工具,比如git等。

2.RN基础

2.1认识RN

下面是从搜狐上看到的一片文章,可以看看,了解一下到底什么是RN。

React Native-目前最火的前端技术

做为一名产品经理,你是否遇到过这样的窘境,“帮我把字体调成16号呗,颜色变成#FFFF00FF,老大说这里最好改一下”,作为一名app的开发只能无奈但心里窃喜的告诉你,“只能等下个版本了,必须要重新发布才能改”,如果你问为什么不能改了就生效啊,那说明你对技术的理解要么真的很差,要么你就是知道这项React-Native新技术所爆发出来的力量。

React Native是Facebook推出的一个用Java语言就能同时编写ios,android,以及后台的一项技术,2015年9月 发布了android版本,又在程序员里面掀起了一波小高潮,不断有喜欢尝鲜的程序员投入到这个领域。

用大白话说,就是从此一名程序员自己就可以创业了,他只用这一门技术,就可以同时写出androidapp,ios app,以及后台应用程序,并且,请注意这里,它可以做到实时热更新(就像网页一样,改了一个字体,随时可上线),app也能做到随时都能更新了,第一段讲的那个需求可以分分钟秒杀解决,不用新发版本,只需在服务器改动一下代码即可,是不是很牛逼,是不是很牛逼,是不是很牛逼,真的很牛逼。

到这里,你只需要理解一句话,就是Facebook提供了一套解决方案,它利用Java作为开发语言,可以同时来编写前端,移动终端,后台应用程序。

我们再来讲讲,为什么React Native受到了如此大的关注,以及它的优越性到底在什么地方。

目前,一个成熟的互联网产品基本囊括了:移动终端和网页两种主要形态。在移动终端app和网页的开发历程中,涉及了很多技术角色:前端开发(俗名叫做网站的),移动终端开发(android和ios开发,现在满大街都是),后台开发(他们的程序大多没有界面,主要是为网页和app提供数据和保障服务的稳定性),每个角色各司其职,分别需要不同的技能,比如前端开发需要精通html,css,java这些基本的web语言知识。Android开发用Java(这个词读“扎瓦”,别读成了“加瓦”,读成这样很Low B的)语言编写,ios开发用Objective-c(把他想象成当年过计算机二级的那个C语言就可以了)编写。后台开发,有的公司用Java,有的公司用C++,用啥的都有,能满足性能需要就可以了。

已经看崩溃了吧,对于一个非计算机专业的人,根本不会理解他妈的为什么要存在这么多语言,为什么这里要用C语言,那里要用C++,有的地方要用Python,而又有很大的一个人群对你高呼:“PHP才是世界最好的语言”。其实他们每种语言都有不同的使用场景,有的语言效率高,有的语言语法更简洁漂亮,有的是专为后台而生,有的是特定场景下的唯一选择。如果你还听不懂,我们就用大白话做个比喻,为什么避孕套有的是螺纹的,有的是颗粒的,有的是延时的,有的是超薄的,还有一个品牌号称一只手就可以打开的,它们也都是依据个人身体状态,以及不同场景分别发挥各自的强项。你随便类比,任何一个领域,都有很多不同的工具来满足不同的场景,是需求决定了当前状态。

现在好了,React整套解决方案完成了江湖统一,FaceBook也号称这们技术是“Learn Once,Write AnyWhere”,学习成本只有一次,却完成了所有开发角色的统一。

这意味着:

1.app将来都是可像网页一样热更新,随时发布。

2.对于一名开发人员,将再也没有前端,终端,后台的区分,他所关注的就是做一整套应用程序,人力将得到最大幅度的整合与释放。

3.代码复用将会是主旋律,因为是一种语言,大家重复造轮子的成本会越来越节省。

目前,React Native也还是有一些缺点的,比如他的sdk组件包size还比较大,crash还比较多,在ios上支持的内容已经相当不错,android还属于初级阶段,但是目前最新的版本也才是0.16,相信再过一年, 一定会牛逼闪闪。


2.2 Reactjs基础学习

在正式学习RN之前,建议先学一些Reactjs的内容,对一些方法有一个认识,下面提供的学习内容可以简单的学习一下,可以进入访问地址查看具体的描述。

访问地址:http://www.ruanyifeng.com/blog/2015/03/react.html

进入访问地址之后,可以将一些Demo下载下来,自己照着说明编写代码并运行,查看效果,有一个直观的认识,拒绝眼高手低,光看不练。


3.RN项目创建与运行

3.1新建项目

创建新项目,项目名称为Test,可事先在任意盘符创建一个文件夹,之后在命令行进入该盘符的该文件夹,然后输入react-native init Test。

注:创建时间可能会比较长,那是在下载相关依赖,耐心等待即可。


3.2项目的目录结构

android目录是Android项目的目录,里面有Android Studio项目环境文件。

ios目录是iOS项目目录,是XCode项目环境文件。

index.android.js是Android入口文件。

index.ios.js是iOS入口文件。

node_modules是项目的依赖包,基于node文件依赖系统产生的,该目录中有react-native相关的依赖和其他的第三方lib

package.json是项目依赖包的说明文件,列举了依赖的包以及版本号等等信息。


3.3运行项目

项目创建完成,接下来就是要运行项目,此处分别说明模拟器与真机如何运行项目。

3.2.1模拟器运行

Android执行方法:

第一步,开启安卓模拟器,使模拟器成为可用状态,在命令行输入adb devices 可查看模拟器是否开启。上述会列出当前可以使用的设备,如果列表为空,则后续的无法运行。

第二步,开启一个命令行控制台,进入项目目录,第一次运行最好先执行npm install,然后执行react-native start上述命令是开启jsbundle服务器,用于测试设备上Reload JS的服务器。

第三步, 再开启一个新的命令行控制台,进入项目目录react-native run-android

react-native start执行成功
React-native run-android执行过程中,耐心等待执行到100%
项目安装完成之后,在模拟器上会显示如图界面。


Reload

之后每修改代码需用重新渲染界面,如图所示点击Reload即可。

ios执行方法:

第一步,打开Xcode,进入项目目录中的ios目录,

第二步,开启一个命令行控制台,进入项目目录

执行react-native start

第三步,选择一个ios的模拟器直接运行即可。

3.2.2真机运行

真机的运行方式理论上与模拟器的运行方式是相同的,但是在实际操作中会遇到一些问题,所以为了避免多走弯路,下面提供一种通用的解决方法。

第一步,将手机连接数据线,插入电脑USB接口,注意一定要使手机处于开发者模式,支持USB调试。

第二步,打开Android Studio,然后根据下图演示步骤进行手动安装项目。

打开一个存在的安卓项目,进入新建的RN项目的android目录点击OK。

第三步,点击如图所示按钮查看Android Studio是否检测到设备。

第四步,开启一个命令行控制台,进入项目目录,第一次运行最好先执行npm install,然后执行react-native start。

然后,点击运行按钮进行安装。

耐心等待安装完成即可。

第五步,点击真机的Menu虚拟键或者摇动手机,也会弹出Menu窗口,点击Dev Settings选择右图最下方的选项,设置ip地址和电脑ip一致,端口号通常设为8081。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容