文档章节

react-native上手体验

卢勇福
 卢勇福
发布于 2015/03/31 23:10
字数 718
阅读 294
收藏 1


查看原文

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


  1. react-native目前只放出了ios版本,那为了体验,你必须有os x系统,并且安装了xcode.

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


    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. 安装完homebrew,我们分别安装nodejs,watchman,flow,分别输入如下命令:
    brew install node

    brew install watchman

    brew install flow

  4. 接着我们安装 react-native本身:

    npm install -g react-native-cli

  5. 然后我们就可以建立一个demo工程,这里我照着官方的示例建了

    AwesomeProject 这么一个工程,输入如下命令建立工程:

    react-native init AwesomeProject


  6. 然后我们用xcode打开 AwesomeProject/AwesomeProject.xcodeproj,运行cammad+r,可以看到模拟器出来一个app效果:


  7. 这时候同时弹出了一个终端窗口:


  8. 我们可以看到react-native是通过nodejs启动了一个 8081端口的server来进行实时调试,这时候如果你修改了index.ios.js的代码,然后在xcode里执行cmd+r,xcode会从8081端口拉取最新的代码执行,并且更新模拟器相应修改,是不是很爽?



接下来我们看看代码结构:


写过ios的人都知道,Appdelegate.h,Appdelegate.m是ios原生代码的入口程序,打开Appdelegate.m,我们看到这样一行代码:

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

从字面理解,我们应该知道react-native是从本地端口拉取index.ios.js来执行一下了。为了验证是否是这样,我们改一下index.ios.js的名字为test.ios.js,然后在Appdelegate.m里把index.ios.bundle改成test.ios.bundle,重新cmd+r,执行没有问题,这就验证了我们的假设。

8.最后我们看看index.os.js的内容,这里几乎就是reactjs的写法,大家如果想了解不妨去react官网http://facebook.github.io/react   看下。这里就不详细说了。


总之,facebook的这个react-native想像空间还是蛮大的,一个是降低了开发native    app的难度(一大波前端js程序员可以写),

另外一个很可能一套代码android,ios,web都搞定了!!

长按下面二维码图片选择“识别图中二维码”关注帝都码仔公众号:



© 著作权归作者所有

共有 人打赏支持
卢勇福

卢勇福

粉丝 40
博文 19
码字总数 22106
作品 10
海淀
高级程序员
私信 提问
WEEX、React-Native开发App心得

WEEX、React-Native开发App心得 起因 最近公司准备使用weex或者react-native进行跨平台开发,并不是要做新的app而是准备用这种方式代替原来webview+h5内嵌这种方式,这种hybrid的方式,存在于...

V1admirMakarov
01/06
0
0
对于ApiCloud和React Native的选择

开发App已经有两个星期了。第一个星期主要尝试了下用ApiCloud、这周最主要尝试了下React Native。各有千秋吧。 ApiCloud 优点: 1、上手简单,对于做过web开发的人来说,上手非常容易。没几天...

听_风
2016/03/23
126
1
跨平台移动开发工具--Weex

2016年4月21日,阿里巴巴在Qcon大会上宣布开源跨平台移动开发工具Weex,Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及...

勾三股四
2016/04/21
60.2K
15
Hybrid App 和 React Native 开发那点事

简介:Hybrid App(混合模式移动应用)开发是指介于Web-app、Native-App这两者之间的一种开发模式,兼具「Native App 良好用户交互体验的优势」和「Web App 跨平台开发的优势」。很多人都知道...

OneAPM蓝海讯通
2016/03/18
170
0
React Native vs. Cordova.

简评:跨平台开发五彩斑斓,本文作者简单介绍 RN 和 Cordova 的两种不同终端跨平台流程,从与原生开发联系中分析其利弊。 原生是一个相对概念。其实软件开发最后意义指在操作硬件(大量晶体管...

极光推送
10/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mac 下 mysql 8.0.13 安装并记录遇到的问题 以便以后查看

安装 官网mysql 下载地址 安装过程 省去 安装好之后 下载navicat 错误1 链接 遇到 mysql 2003 - Can't connect to MySQL server 错误, 解决方案 重启mysql 服务 #错误2 ERROR 1045: Acces...

杭州-IT攻城狮
26分钟前
3
0

中国龙-扬科
29分钟前
1
0
[Spring4.x]基于spring4.x纯注解的Web工程搭建

在前文中已经说明了如何基于 Spring4.x+ 版本开发纯注解的非web项目,链接如下: https://my.oschina.net/morpheusWB/blog/2985600 本文则主要说明,如何在Web项目中,"基于spring纯注解方式...

morpheusWB
58分钟前
13
0
基础编程题目集-7-13 日K蜡烛图

股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开...

niithub
今天
5
0
Jenkins window 下的安装使用

1.下载:https://jenkins.io/download/ 双击安装完毕,将自动打开浏览器: http://localhost:8080 打开对应位置的文件,将初始密钥粘贴至输入框。 第一个是 安装默认的软件;第二个是 自定义...

狼王黄师傅
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部