React-Native是 FaceBook的一个开源框架,基于JavaScript来为安卓和iOS开发跨平台的移动应用,为当下移动开发提供了一个很不错的方案。
React-Native主要特性
一.支持原生组件
1.支持使用标准的平台组件,例如iOS的UITabBar或安卓的Drawer。 使app获得平台一致的视觉效果和体验,并且获得最佳的性能和流畅性。
二.异步执行
1.在Javascript代码和原生平台之间的所有操作都是异步执行的,并且原生模块还可以根据需要创建新的线程。这使React Native开发的app天然具备流畅和反应灵敏的优势。Javascript和原生代码之间的通讯是完全可序列化的,这使得开发者可以借助Chrome开发者工具去调试应用,不管应用运行在模拟器还是真机上。
三.触摸事件的处理
1.React Native实现了一个强大的触摸事件处理系统,可以在复杂的View层次关系下正确地处理触摸事件。同时还提供了高度封装的组件如TouchableHighlight等,可以直接嵌入到ScrollView或者其它的元素中,无需额外配置。
四.弹性盒(Flexbox)和样式
1.控制view的布局应当简单易行。React Native支持多种常见的web样式,例如fontWeight等。抽象样式表提供了一个高性能的机制来声明所有的样式和布局,并且可以直接应用到你的组件中。
五.兼容通用标准
1.React Native致力于改进视图代码的编写方式。吸纳了web生态系统中的通用标准,并在必要的时候为这些API提供兼容层。如此一来,npm上的许多库就可以在React Native中直接使用。这样的兼容层有XMLHttpRequest, window.requestAnimationFrame, navigator.geolocation等。
六.扩展性
1.使用React Native,无需编写一行原生代码即可创造一款不错的app。尽管如此,使用自定义的原生视图和模块来扩展React Native也非常容易 —— 这意味着你现有的所有工作都可以被复用,你喜欢的各种原生库都可以被导入。
环境搭载及使用
一:必须安装的软件
1.Homebrew
Homebrew的安装前文已经做过介绍,就不在说了;
2.Node.js
打开终端输入node -v来查看Node.js是否安装,我的版本是6.6.0
如果没有可通过brew来安装输入brew install node,安装Node后建议设置npm镜像
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
二:React Native的命令行工具
1.新建项目
react-native init 项目名称
2.进入项目
cd项目名称
3.运行
react-native run-ios