是时候了解React Native了

文章首发于简书,欢迎关注html

随着科技的发展,手机开发也在向好的方向不停的转变。IOS和Android两大手机操做横空出世,称霸江湖。咱们每开发一个手机软件最少都须要开发这两个终端。
两大操做系统都在不断的提高完善,能力愈来愈强大,这对于咱们开发者是好事,由于用智能手机的用户愈来愈多。react

话天下大事,分久必合,合久必分。这句话对于移动开发也是同样的。
这里写图片描述
这几年来,移动应用开发者作梦都但愿有一个能跨平台的开发工具,让他们不要把同一个移动应用使用不一样的开发语言写两遍。但跨平台开发工具的实现很难,直到Facebook开源了React Native.es6

React,React.js, React Native

要想学习React Native首先了解上面三个概念和之间的联系。
1. React 是基础框架,提供了一套基础设计实现理念,并不能直接用来开发,就比如马克思主义对于我党的做用同样。
2. React.js 是在React理念的指导下产生的专门用来开发网页的框架.与React同时出现和发展,React的相关概念都在React.js文档中。
3. React Native 是用来开发移动应用。须要用到React概念,可是不须要React.js的东西。编程

这里写图片描述

预备知识

  1. 学习React Native开发须要了解基础的JavaScript编程知识。若是有编程经验的能够经过 慕课网提供的学习页面http://www.imooc.com/learn/36 或者直接阅读ECMAScript 6入门电子版
  2. 最好简单了解一下Android或者IOS其中一门开发,由于React Native开发的功能偶尔还须要借助原生代码实现,你们能够看一下我写的爱上Android这本书了解下Android开发

React Native的特色

使用React Native开发,既拥有Native的良好人机交互体验,又保留了React框架的开发效率。react-native

一次学习,随处编写

一份代码同时支持IOS和Android两个平台在历史上证实是很是困难的,因此React Native小组并无狂妄的喊出”Write once,run anywhere”,而是提出了“Learn once,write anywhere”。使用RN能够为两个操做系统开发应用程序,但不一样的平台上的代码根据平台会有一些微小的区别,但开发思路是相同的。在UI开发上,RN差很少作到了”Write once,run anywhere”。微信

混合开发

React Native支持混合开发,大体分为三种状况。
1. UI界面由React Native开发, 但UI事件处理由原生代码执行
2. 将原来使用的原生代码实现的UI小部件包装成React Native的自定义控件
3. 应用界面在React Native开发的界面与原生代码开发的界面间进行切换,React Native的强项就是UI开发,在混合开发中,能用React Native开发的界面,优先用React Native开发.markdown

优缺点

RN优势很明显,
1. 能够大大节省开发成本,百分之90多界面能够经过RN开发,一份代码能够适配Android和IOS.
2. RN有独特的UI实现框架,借助组件化开发是团队规模更容易进行调整,能够快速迭代项目.
3. RN能够经过一些手段自动匹配不一样屏幕大小的手机,不再须要本身去计算视图的大小和位置.
4. RN具有高效的UI调试.框架

RN也有一些缺点,不过相对于优势基本上能够忽略
1. RN开发的程序内存消耗略大, 开发模式下开销大几十兆,发布后差别不大, 目前手机基本上都有2G以上的内存, 几十兆能够忽略不计了。
2. 运行速度略慢, 不能否认,原生代码比RN运行速度略快, 显示一个界面多一两毫秒吧,正常的人根本感受不到,若是你用不通过优化的原生代码反而不如RN.
3. 安装包比原生代码安装包大,这点更能够忽略了, 如今手机什么都缺就不缺空间.工具

React Native开发环境搭建

React Native能够在Mac,Linux,Windows上搭建, 其中若是开发IOS,必须在Mac上搭建。具体如何搭建能够参考React Native环境搭建组件化

学习资料

React Native 官方文档中文版
React Native中文网
ECMAScript 6入门

更多精彩请关注微信公众帐号likeDev,公众帐号名称:爱上Android。

这里写图片描述

相关文章
相关标签/搜索