01、RN 系列之 什么是 ReactNative

版权声明:本文为博主原创文章,未经博主允许不得转载。

PS:转载请注明出处 作者: TigerChain 地址: www.jianshu.com/p/717ccdd7c… 本文出自 TigerChain 简书 ReactNative 系列

教程简介

本篇教程适合新手阅读,老手直接略过

一、手机 APP 分类

1、手机 APP 现状

从目前来说,手机 APP 分为三个大类:native,hybird,webapp

从以上三类来说,各有各个好处,简单说一下:

综上,如果是对性能要求不是非常高的公司「我就遇到过,客户明确提出不能使用 H5 或 Hybrid 来开发」,那么 hybrid 是一个不错的选择。

2、为什么要有 ReactNative

既然有了 Hybrid 为什么还要搞个 RN 呢?我们知道 FaceBook 对世界上的 JS 类库都不鸟「觉得的使用不爽」,就自己造了一个 React ,FaceBook 就想 React 的一些思想和精髓能不能用到手机端开发「既有前端的开发效率,又有 native 的体验」,经历了若干磨难--最后 React Native 应运而生。

二、什么是 ReactNative

1、什么是 RN

用官方的话说,ReactNative「以下简称 RN」就是使用 JS 和 React 来构建原生 APP。

从以上解释我们可以知道,使用 RN 要掌握 JS 和 React,其实 JS 不是说要非常精通的掌握才可以学 RN。

PS:这说明一点 RN 不是 Hybrid ,它是通过 JS 来直接调用原生组件达到高性能

2、RN 的特点

优点:

缺点:

3、RN 坑之说

目前来说 RN 在 IOS 上的坑较少, Android 来说较多「特别是国产机型乱七八糟的状况下,但是总归是有问题方法解决的」,但是这不是阻止我们去学习的借口,因为 RN 背后是强大的 FaceBook 在支撑着,而且有着活跃的社区。看看下面使用者,你就更有信心了。

##三、RN 和 Native

RN 和 Native「原生」 相比

性能:

无限接近原生「目前来说肯是达不到原生体验的」,如果你觉得性能不好,完全可以使用原生代替,RN 调用即可

付出更少,得到更多

原本做一款 APP 至少要两名工程师「 Android 和 IOS」,并且开发效率不一致「一个字慢」,使用 RN 大量的代码可以得到利用,技术栈统一,效率明显提高,并且一个人就可以做出 IOS APP 和 Android APP

热加载

编写代码开户热加载,保存界面自动刷新,就有点像 Android 里面的 Instant Run 功能

代码共用「核心代码」

在 web android IOS 中 核心代码都是共用的,只需要做少许修改就可以使用 ,UI 代码库对于 Android 和 IOS 来说几乎是一样的。

建议:

四、谁在使用 RN

我们从官网载图一张图来看看

我们可以看到 FaceBook 自家在使用,特斯拉也在使用,手Q 也在使用...

这里没有截完整,还有京东 APP, 天猫 APP ,手机百度等。具体也可以看官方具体内容:facebook.github.io/react-nativ…

国内技术看 BAT 目前 BAT 都在使用 RN,我们有什么理由不掌握 RN 呢,有 native 开发经验的人更占优势,没有 native 开发经验的人也没什么问题,人人都能学 RN 。让我们开启 RN 之旅吧。