看了一些简单介绍,react native 既拥有Native的用户体验、又保留React的开发效率。开发者就可以用一套代码写出运行于 web、iOS 与 Android 之上的 UI(所谓的 learn once,write everywhere),减少了人力、节省了时间,开发新功能可以更迅速。这么好的东西自然要研究一下。
React Native的原理是在JavaScript中用React抽象操作系统原生的UI组件,代替DOM元素来渲染,比如以 View 控件取代 div 标签,以 ImageView 控件替代 img 标签等。
React Native在主线程之外,在另一个后台线程里运行JavaScript引擎,两个线程之间通过一批量化的async消息协议来通信(有一个专门的React插件)。
UI方面 React Native 提供跨平台的类似 FlexBox 的布局系统,还支持 CSS 子集。可以用 JSX 或者普通JavaScript语言,还有CoffeeScript和TypeScript来开发。有评论说,React的UI层模型要比UIKit好很多。
更好的是,由于基于Web技术,开发起来可以像在浏览器里那样随时在仿真程序中查看应用运行情况,刷新一下就行,无需编译。
React Native比起标准Web开发或原生开发能够带来的三大好处:
- 手势识别:基于Web技术(HTML5/JavaScript)构建的移动应用经常被抱怨缺乏及时响应。而基于原生UI的React Native能避免这些问题从而实现实时响应。
- 原生组件:使用HTML5/JavaScript实现的组件比起原生组件总是让人感觉差一截,而React Native由于采用了原生UI组件自然没有此问题。
- 样式和布局:iOS、Android和基于Web的应用各自有不同的样式和布局机制。React Native通过一个基于FlexBox的布局引擎在所有移动平台上实现了一致的跨平台样式和布局方案。
windows 上 react native 的开发环境的搭建方法如下:
http://blog.csdn.net/zhaojiezz/article/details/48877723