React-native 使用js编写android和ios程序,前端时间开始支持android,本人根据官方的教程,先安装开发环境,然后运行hello world,最后看了下官方提供的实例程序UIExplorer,感觉还不错。
 
对android相对熟悉一点,首先关注android部分,android使用grader编译,可以导入工程到android studio或者idea中,也可以使用命令行编译。在android studio中运行以后可以普通的android程序一样,点运行按钮以后就开始编译,如果电脑上连接好了安卓设备或者模拟器就可以成功运行。(采用命令行有的设备会安装失败需要手动安装)
 
这里运行的是一个loder程序,通过loader程序会加载本地服务器端的js文件,服务器端由note.js提供,使用命令“adb reverse tcp:8081 tcp:8081” 可以将本地端口绑定到设备上,由于本人adb的版本原因 命令执行失败,因此在loader中设置ip地址来访问服务器端,
 
服务器端程序当然要启动才行,运行react-native run-android 启动服务器端和编译安装loader是同时进行的。
另外也可以单独运行服务器端程序,react native start 或者在master目录中运行 ./install/install.sh
 
ios也是采用类似的方式,创建项目后会生成项目文件,导入Xcode直接运行就可以了,运行的时候同样会启动服务端。
 
loader程序一般是固定不变的,修改服务端的js文件,然后再loader上reload就会加载新的js文件,这样对提高开发效率是很有好处的,
编写android的程序,当然是要返回测试的,虽然打包安装的过程都是全自动的,但不停的这样操作是很费时间的,如果机器配置不好每次修改后程序运行都要等一段时间。
 
当然,这样看来也可以对应用进行热更新,就像网站一样,如果更新了服务器端程序,客户访问到的就是修改后的网站。但是代码的加密又会是新的问题。
 
就android而言,loader程序代码,和普通的安卓项目是基本上是一样的,不同的是引入了react-native的lib(核心库),lib已第三方库的形式存在,使用android studio只需要填写lib名称,就会自动下载,从被注释的代码可以看到,也可以从源码引入lib工程,如果源码不满足你的要求就可以直接去修改。
 
loader的作用就是提供js的执行环境,react是将android自带的控件函数之类映射到js中,ios也是采用类似的方式,通过js来调用原有的函数,而不是自己重新实现了一个界面框架。因此android端的demo和ios的是有一些差别的。
 
js的执行环境是采用JavaScriptCore引擎,调试时根据官方的介绍说放在浏览器端执行的,使用V8引擎。
配置开发环境,根据文档需要安装NDK,实际上如果不自己编译react-native的核心库,是不需要NDK的,应用程序一般直接引入lib就可以了。
 
理论上运行hello world,只需要loader程序和一个note.js的服务器就可以了,如果做开发还需要loader的源代码以增加原生的扩展,调试的话,react-native提供了谷歌浏览器的插件来调试。
 
官方的文档目前是苹果系统下进行的,如果要开发ios的应用是必须使用苹果系统的,没有Xcode ios的loader无法编译。
 
不过,如果只想看看android的效果,使用windows应该也是可以的。理论上只需要装上note.js的服务器环境,并且导入android项目源码就可以了。
 
当然本人并没有测试,准备有时间到windows下试试,到时候再发文章吧,敬请期待.....
 
更多精彩内容,请关注微信公众号:zhaojieTec
 

React-Native测试报告的更多相关文章

  1. 30天React Native从零到IOS/Android双平台发布总结

    前言 本人有近十年的技术背景,除了APP开发之外对后端.前端等都比较熟悉,近期做一个APP项目需要IOS.Android两个平台都需要,只能硬着头皮上.其实很早就想开发APP也很早就接触Android ...

  2. React Native 之 Text的使用

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  3. React Native环境配置之Windows版本搭建

    接近年底了,回想这一年都做了啥,学习了啥,然后突然发现,这一年买了不少书,看是看了,就没有完整看完的.悲催. 然后,最近项目也不是很紧了,所以抽空学习了H5.自学啃书还是很无趣的,虽然Head Fir ...

  4. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  5. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  6. React Native环境搭建以及几个基础控件的使用

    之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...

  7. React Native组件介绍

    1.React Native目前已有的组件 ActivityIndicatorIOS:标准的旋转进度轮; DatePickerIOS:日期选择器: Image:图片控件: ListView:列表控件: ...

  8. React Native图片控件的使用

    首先定义组件 import { AppRegistry, StyleSheet, Text, View, Image,} from 'react-native'; 然后将render返回中的模版增加I ...

  9. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

  10. windows 7下React Native环境配置

    React Native 是 Facebook 推出的一个用 Java 语言就能同时编写 ios,android,以及后台的一项技术,它可以做到实时热更新 .FaceBook 也号称这们技术是 “Le ...

随机推荐

  1. 回文字算法(java版本)

    package com.gdh.backtext;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry; p ...

  2. 【Effective Java】11、同步访问共享的可变数据

    这段时间看的部分感觉没啥需要记录下来的,个人也没什么想法,不过以后还是要多记,多写 package cn.xf.cp.ch02.item66; import java.util.concurrent. ...

  3. Java经典实例:使用DateFormatter来格式化日期时间

    Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; ...

  4. Xdebug文档(一)基本特性

    基本属性(参数) xdebug.default_enable 类型: boolean,默认值: 1 这是xdebug的基本设置,默认在调试跟踪时显示错误信息.可以使用xdebug_disable()函 ...

  5. css知多少(10)——display

    1. 引言 网页的所有元素,除了“块”就是“流”,而且“流”都是包含在“块”里面的(最外层的body就是一个“块”).在本系列一开始讲<浏览器默认样式>的时候,大家也都看到了浏览器默认样式 ...

  6. 3种不同的ContextMenu右键菜单演示

    简单使用的右键菜单,希望能帮助大家.下面是截图和实例代码 实例预览 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  7. swift学习笔记之-方法部分

    //方法部分 import UIKit //方法(Methods) /*方法是与某些特定类型相关联的函数,类.结构体.枚举都可以定义实例方法 实例方法(Instance Methods): 1.属于某 ...

  8. jquery对象和DOM对象的互相转换

    实际开发中,jq用的很多,jq对象不能调用原生js操作方法,DOM对象当然也不能调用jq的方法,有时候我们可以用到jq对象和jsDOM对象的相互转换. 在jq中,只需要调用[index]和get(in ...

  9. “破解大牛是怎么炼成的”之壳与ESP定律

    文章难易度:★★★ 文章阅读点/知识点:逆向破解 文章作者:Sp4ce 文章来源:i春秋   关键字:网络 信息安全技术 本文参与i春秋社区原创文章奖励计划,未经许可禁止转载! 一.前言 通过前面几篇 ...

  10. FIM2010同步用户

    在需要进行同步的来源MA进行同步 在需要进行导入的来源进行导入