前言

React Native是最近非常火的一个话题,想要学习如何使用它,首先就要知道它是什么。

好像面对一个新手全面介绍它的文章还不多,我就归纳一下所有的资料和刚入门的小伙伴一起来认识它~

将从以下几个方面来介绍它:

1、React Native的定义

2、React Native的优缺点

2、学习React Native需要掌握的知识


React Native的定义

一句话就是:一款专门用于App的JS框架。

React Native 结合了 Web App和 Native App的优势,使用 JavaScript 和 React 来开发 iOS 和 Android 原生应用即Mobile App。

   注意:

使用React Native最后编译的还是一个原生应用。

这就是为什么 React Native 自称:

Learn once,Write anywhere!

React Native 希望前端开发者学习完 React 后,能够用同样的语法、工具等,分别开发安卓和 iOS 平台的应用并且不用一行原生代码。

总结:
React Nativ是利用脚本语言进行原生平台开发的一次成功尝试,降低了前端开发者入门移动端的门槛,一定业务场景下具有独特的优势,但是几乎不可能取代原生平台开发。 补充:
这里涉及到APP的开发模式,一共有三种,分别是Web App、Hybird App和 Native App。
具体的概念不细说了,简单的做一下对比,大家就会有简单的概念。




 React Native的优缺点

优点

  1. 复用了 React 的思想,有利于前端开发者涉足移动端
  2. 能够利用 JavaScript 动态更新的特性,快速迭代
  3. 相比于原生平台,开发速度更快,相比于 Hybrid 框架,性能更好
  4. 不用Webview,彻底摆脱了Webview让人不爽的交互和性能问题
  5. 较强的扩展性,这是因为Native端提供的是基本控件,JS可以自由组合使用
  6. 可以直接使用Native原生的「牛逼」动画

缺点

  1. 做不到 Write once, Run everywhere,也就是说开发者依然需要为 iOS 和 Android 平台提供两套不同的代码,比如参考官方文档可以发现不少组件和API都区分了 Android 和 iOS 版本。即使是共用组件,也会有平台独享的函数。

  2. 不能做到完全屏蔽 iOS 端或 Android 的细节,前端开发者必须对原生平台有所了解,加重了学习成本。而对于移动端开发者来说,完全不具备用 React Native 开发的能力。

  3. 由于 Objective-C 与 JavaScript 之间切换存在固定的时间开销,所以性能必定不及原生

  4. 安卓环境运行卡,坑多。


学习React Native需要掌握的知识

1、es6的知识。知道JS新语法,不然看到=>()和.then等等,你会一脸懵逼。ES6也称ES2015,是JavaScipt语言的较新的一种标准,在React Native开发时,使用这种标准。

推荐网站:

 2、因为React Native可以看作是 React.js 在移动上的应用,所以还需要掌握react,有助于你加深理解。
推荐网站:

React Native新手入门的更多相关文章

  1. React Native小白入门学习路径——二

    万万没想到,RN组仅剩的一个学长也走了,刚进实验室没几天就被告知这样的事情,一下子还真的有点接受不了,现在RN组就成了为一个没有前辈带的组了,以后学习就更得靠自己了吧.唉,看来得再努力一点了. 这一周 ...

  2. React Native 从入门到原理一

    React Native 从入门到原理一 React Native 是最近非常火的一个话题,介绍如何利用 React Native 进行开发的文章和书籍多如牛毛,但面向入门水平并介绍它工作原理的文章却 ...

  3. React Native基础&入门教程:初步使用Flexbox布局

    在上篇中,笔者分享了部分安装并调试React Native应用过程里的一点经验,如果还没有看过的同学请点击<React Native基础&入门教程:调试React Native应用的一小 ...

  4. React Native小白入门学习路径——五

    React Native小白入门学习路径--五 序 "哦天呐!" 这句话成了我在实验室的口头禅, 老师可能觉得我们都是大神吧,都还在看着基础就给布置了那么多任务:写一个RN的TDD ...

  5. React Native 从入门到原理

    React Native 是最近非常火的一个话题,介绍如何利用 React Native 进行开发的文章和书籍多如牛毛,但面向入门水平并介绍它工作原理的文章却寥寥无几. 本文分为两个部分:上半部分用通 ...

  6. React Native开发入门

    目录: 一.前言 二.什么是React Native 三.开发环境搭建 四.预备知识 五.最简单的React Native小程序 六.总结 七.参考资料   一.前言 虽然只是简单的了解了一下Reac ...

  7. React Native (一) 入门实践

    上周末开始接触react native,版本为0.37,边学边看写了个demo,语法使用es6/7和jsx.准备分享一下这个过程.之前没有native开发和react的使用经验,不对之处烦请指出.笔者 ...

  8. React Native基础&入门教程:调试React Native应用的一小步

    React Native(以下简称RN)为传统前端开发者打开了一扇新的大门.其中,使用浏览器的调试工具去Debug移动端的代码,无疑是最吸引开发人员的特性之一. 试想一下,当你在手机屏幕按下一个按钮, ...

  9. React Native小白入门学习路径——三

    迷茫,真的迷茫. 或许是自己努力的还不够吧,在学习的过程中遇到了很多问题,自己尝试借助搜索引擎解决问题,无奈国内的教程写的还很基础,涉及到稍微具体一点的问题时讲解就比较少更新也比较慢,绝大多数还是很早 ...

随机推荐

  1. 微软自己的官网介绍 SSL 参数相关

    https://docs.microsoft.com/en-us/dotnet/api/system.security.authentication.sslprotocols?redirectedfr ...

  2. 父类是在子类创建对象时候 在子类中创建一个super内存空间

    父类是在子类创建对象时候 在子类中创建一个super内存空间

  3. Qt 删除目录

    删除目标的目录,若该目录下有子目录,一并删除. //判断是否存在子目录 bool judgeDir(QDir dir) { dir.setFilter(QDir::AllEntries | QDir: ...

  4. JS调用App方法及App调用JS方法

    做App内嵌H5项目时,经常会遇到js与App的交互,最普遍的就是方法的互相调用,那么如何实现方法的互相调用呢? 写在前面: 如果只是小项目且后期扩大的可能性不大的时候,可以忽略,可如果是长期项目的话 ...

  5. c++11 类默认函数的控制:"=default" 和 "=delete"函数

    c++11 类默认函数的控制:"=default" 和 "=delete"函数 #define _CRT_SECURE_NO_WARNINGS #include ...

  6. MT【139】公比为有理数

    已知正整数\(a_1,a_2,\cdots ,a_{2016}\)成等比数列,公比\(q\in (1,2)\),则\(a_{2016}\) 取最小值时,\(q=\)______ 解答: 显然\(q\) ...

  7. KMP之Z-function (扩展kmp)

    http://codeforces.com/blog/entry/3107 // s[0, ..., n-1], z[0] = 0// z[i] is the length of the longes ...

  8. 查看ubuntu版本号

    No.1 cat /etc/issue No.2 cat /proc/version No.3 uname -a No.4 lsb_release -a

  9. 【poj3623】 Best Cow Line, Gold

    http://poj.org/problem?id=3623 (题目链接) 题意 给出一个字符串,每次可以取首或尾接到一个新的字符串后面,求构出的字典序最小的新字符串. Solution 首先可以发现 ...

  10. Android中用GridView实现九宫格的两种方法(转)

    Android中用GridView实现九宫格的两种方法http://blog.csdn.net/shakespeare001/article/details/7768455 1.传统办法:实现一个继承 ...