20.1MB
1.32MB
ReactNative是一个强大的移动开发工具。ReactNative允许用户获得基于Javascript和React的完全一致的开发体验。同时React Native已经在生产环境中使用了!
功能介绍
React Native的原理是用React在JavaScript中抽象出操作系统的原生UI组件,而不是DOM元素来渲染,比如替换、替换等。在幕后,React Native在主线程之外的另一个后台线程中运行JavaScript引擎。这两个线程通过批处理异步消息协议相互通信(有一个特殊的React插件)。
Aspect UI React Native提供了类似于Flexbox的跨平台布局系统,也支持CSS子集。它可以用JSX或通用JavaScript语言开发,也可以用CoffeeScript和TypeScript开发。有评论说React的UI层模型比UIKit好很多。
更好的是,因为有了Web技术,开发出来的时候可以随时在仿真程序中查看应用的运行状态,刷新一下就可以了,不需要编译。酷!
与标准的Web开发或原生开发相比,React Native可以带来三个好处:
1.手势识别:基于Web技术(HTML5/JavaScript)构建的移动应用程序经常被抱怨缺乏及时响应。基于原生UI的React Native可以避免这些问题,实现实时响应。
2.原生组件:与原生组件相比,用HTML5/JavaScript实现的组件总是让人感觉更差。但是React Native自然没有这个问题,因为它使用的是原生UI组件。
3.风格和布局:iOS、Android和基于Web的应用程序有不同的风格和布局机制。React Native通过基于FlexBox的布局引擎,在所有移动平台上实现了一致的跨平台风格和布局方案。
主要特性
原生iOS组件React Native提倡“一次学习,随处编写”,而不是其他跨平台工具一直提倡的“一次编写,随处运行”。通过React Native,开发者可以使用UITabBar、UINavigationController等标准iOS平台组件,使应用界面在其他平台上保持一致的外观和风格。
异步执行
JavaScript应用代码和原生平台之间的所有操作都采用异步执行方式,原生模块使用额外的线程。开发者可以通过解码主线程图像,在后台保存到磁盘,直接测量文本设计布局,不用担心UI。
触摸处理
React Native引入了类似iOS上Responder Chain事件处理机制的响应系统,并在此基础上为开发者提供了TouchableHighlight等更高级的组件。
交互式项目创建教程
1.安装节点。下载地址:http://nodejs.org
成功安装后,配置环境变量将添加到路径:
在命令窗口中测试节点配置是否成功:
节点v
输出node版本即为成功输出节点版本成功。
2.传命令:& # 36;npm install -g react-native-cli
注意:如果您遇到找不到模块' npmlog ',您可以尝试命令:& # 36;http://npmjs.org/install.sh | sudo sh
为了确保react-native的成功安装,可以使用check version命令检查react-native命令:& # 36;反应-原生-v
3.安装Git
下载地址:http://git-scm.com/download/win
成功安装后配置环境变量。
类似于第一步:将D:eact_native\git\Git\cmd添加到path中
4.通过命令窗口切换到您想要创建的项目的根目录,然后运行react-native init MyProject(项目名)
最后,它将显示:
要在iOS上运行您的应用程序:cd D:\Users\XXX\MyTest react-native Run-iOS-or-Open iOS \ MyTest . Xcode proj in Xcode点击运行按钮要在Android上运行您的应用程序:CD D:\ Users \ XXX \ MyTest运行Android模拟器(最快的入门方式),或者连接设备react-native run-android
5.切换到您自己的项目:cd MyProject
运行npm安装(安装节点模块)
6.成功安装node_modules后,运行react-native run-android即可。
7.在浏览器中输入http://localhost:8081/index . Android . bundle?Platform=android会显示一长串json代码。
8.可能的问题:
如果安卓系统低于5.0
1.无法获取批处理桥,请确保您的包已正确打包。
设置->调试服务器主机和设备端口将ip修改为充当服务器的PC的IP地址:8081(!!!)。
然后重新加载,最后显示如下界面。