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. mysql 增、删、改、查 、函数、执行次序

    这些是最基础的部分,若果这些不能满足你的需求,可以到http://www.w3school.com.cn中查询 增删改: 增 insert into<表名>(<列名列表>(如果 ...

  2. [javaEE] 反射-通过反射了解集合泛型本质

    java中的泛型是防止错误输入的,只在编译时刻起作用 package com.tsh.reflect; import java.lang.reflect.Method; import java.uti ...

  3. python 学习笔记9(面向对象)

    面向过程.函数式.面向对象 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象(Object Oriented Programmin ...

  4. 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)

    http://www.jb51.net/article/27616.htm   有次同事提出开发使用的mysql数据库连接很慢,因为我们的mysql开发数据库是单独一台机器部署的,所以认为可能是网络连 ...

  5. HTML 限制文本框只能输入特定字符(比如数字 onkeyup+onafterpaste)

    正则表达式1 <td><asp:TextBox ID="TextBox_username" Width="250" runat="s ...

  6. GJM : 安装SqlServer遇到问题的解决方案 [原创]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  7. SVG Drawing Animation - SVG 绘制动画

    一个小实验,探索 SVG 线图动画的使用情况,以前沿的展示形式呈现图形或网站元素的外观,模拟它们的加载.SVG 真的很强大,有许多创造性和可能性,使用 SVG 可以制作各种有趣的网站交互效果.今天这篇 ...

  8. 【再探backbone 01】模型-Model

    前言 点保存时候不注意发出来了,有需要的朋友将就看吧,还在更新...... 几个月前学习了一下backbone,这段时间也用了下,感觉之前对backbone的学习很是基础,前几天有个园友问我如何将路由 ...

  9. Weinre调试移动端页面

    Weinre是什么 如果我们做的是Cordova(phonegap)或其他hybird应用,当使用到原生功能时候(类似原生请求数据或页面切换时),没办法在PC chrome浏览器调试页面,一旦页面在手 ...

  10. AJAX跨域访问(从Tomcat8到Apache/Nginx)

    1.在Tomcat的Root目录下放入如下的文件 apache-tomcat-8.0.12X64\webapps\ROOT clientaccesspolicy.xml文件 <?xml vers ...