1. RN 基本介绍

本小节主要包含以下知识点:

  • 什么是 RN
  • RN 特点
  • 谁在使用 RN

什么是 RN

RN 英文全称 ReactNative,是 Facebook 于 2015 年 4 月开源的跨平台移动应用开发框架,也是 Facebook 早先所开源的 JavaScript 框架 React 在原生移动应用平台的衍生产物,目前支持 iOS 和安卓两大平台。

RN 使用 Javascript 和 React 中类似于 html 的 JSX,以及 css 来开发移动应用,因此熟悉 Web 前端开发的技术人员只需很少的学习就可以快速进入移动应用开发领域。

RN 官网:React Native · Learn once, write anywhere

RN 中文网:React Native 中文网 · 使用React来编写原生应用的框架

RN 特点

根据官网的介绍,RN 主要有如下的特点:

  • 使用 React 来创建 Android 和 iOS 的原生应用
  • 预览速度快
  • 无缝跨平台

使用 React 来创建 Android 和 iOS 的原生应用

目前来讲,我们的移动端应用主要分为三大类:WebAppNativeApp 和 HybridApp

WebApp 指的是移动端的 Web 浏览器,其实和 PC 端的 Web 浏览器没有任何区别,只不过 Web 浏览器所依附的操作系统不再是 Windows 和 Linux 了,而是 iOS 和 AndroidWebApp 采用的技术主要是,传统的 HTML、JavaScript、CSS 等 Web 技术栈,当然现在 HTML5 也得到了广泛的应用。另外,WebApp 所访问的页面内容都是放在服务器端的,本质上就是 Web 网页,所以天生就是跨平台的。不能在商店中下载,只能在移动设备浏览器中打开。

NativeApp 指的是移动端的原生应用,对于 Android 是 apk,对于 iOS 就是 ipaNativeApp 是一种基于手机操作系统(iOS 和 Android),并使用原生程序编写运行的第三方应用程序。NativeApp 的开发,Android 使用的语言通常是 Java 或者 KotliniOS 使用的语言是 Objective-C 或者 Swift。通常来说,NativeApp 可以提供比较好的用户体验以及性能,而且可以方便地操作手机本地资源,可在应用商店内进行下载,以 app 的形式打包。

HybridApp,俗称混合应用,是介于 WebApp 和 NativeApp 两者之间的一种 App 形式,HybridApp 利用了 WebApp 和 NativeApp 的优点,通过一个原生实现的 Native Container 展示 HTML5 的页面。更通俗的讲法可以归结为,在原生移动应用中嵌入了 Webview,然后通过该 Webview 来访问网页。HybridApp 具有维护更新简单,用户体验优异以及较好的跨平台特性,是目前主流的移动应用开发模式,可在应用商店内进行下载,以 app 的形式打开。

那么,使用 RN 所开发的应用是属于哪一类呢?

根据官方的介绍,RN 所开发最终产品是一个真正的移动应用,从使用感受上和原生应用相比几乎是无法区分的。

在 RN 中所使用的基础 UI 组件会映射到原生应用中的对应组件。

预览速度快

传统使用 Objective-C 或 Java 编写的原生应用,要预览效果,需要先将整个项目编译一次,而这个编译时间是比较耗时的。

RN 让你可以快速迭代开发应用。比起传统原生应用漫长的编译过程,现在你可以在瞬间刷新你的应用。开启 Hot Reloading 的话,甚至能在保持应用运行状态的情况下热替换新代码!

无缝跨平台

使用 RN 所开发的移动端应用是无缝跨平台的,原生代码和 API 会被封装到 RN 组件中,开发者只需要掌握 React 和 JavaScript 知识即可进行开发。

谁在使用 RN

RN 从 2015 年开源至今,已经有非常多的国内外厂商选择使用 RN 来开发移动端应用,因为比起以前开发 Andriod 和 iOS 应用要各自找一波开发工程师,现在只需要找一个前端工程师即可。

更多使用厂商,可以参阅:Showcase · React Native

RN学习笔记

react-native基本介绍相关推荐

  1. Android之React native的介绍和入门指南

    链接:http://zhuanlan.zhihu.com/FrontendMagazine/19996445 数月前,Facebook 对外宣布了正在开发的 React Native 框架,这个框架允 ...

  2. React Native 网络层分析

    文:志俊(沪江Web前端) 本文原创,转载请注明作者及出处 在使用React Native开发中,我们熟练的采用JavaScript的方式发送请求的方式发送一个请求到服务端,但是处理这个请求的过程其实 ...

  3. iOS开发者React Native学习路线

    2019独角兽企业重金招聘Python工程师标准>>> http://blog.talisk.cn/blog/2016/08/13/RN-Learning-path-for-iOS- ...

  4. 大咖说:React Native 全埋点实现原理(内附赠书)

    本文主要介绍如何实现 React Native 的全埋点,主要是控件点击 $AppClick 事件.该内容,会默认你有一定的 React Native 开发经验,(若没有,也可参与文末赠书). ■ 作 ...

  5. React Native 从入门到原理

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

  6. 从零学React Native之01创建第一个程序

    上一篇文章是时候了解React Native了介绍了React Native.大家应该对React Native有个初步的认识. 接下来我们就可以初始化一个React Native项目了. 创建项目 ...

  7. native-JavaScript通信流程( 基于最新的 react native版本 )

    JavaScriptModule是用来实现java端对JavaScript端的调用,java端的JavaScriptModule只是抽象,用来找到JavaScript端对应的JavaScriptMod ...

  8. React Native 入门实战视频教程(36 个视频)

    React Native 入门实战视频教程(36 个视频) #1 React Native 课程介绍「02:14」 #2 搭建 React Native 开发与运行环境跑起来「05:07」 #3 演示 ...

  9. React Native Firebase

    React Native Firebase        介绍 RNFirebase使用Firebase和React Native简单.它是一个轻量级的图层,位于iOS和Android的原生Fireb ...

  10. React Native 入门实战视频教程(37 个视频)

    我这里有视频教程,全部是我自己辛苦录的,有兴趣的可以看下. React Native 入门实战视频教程(37 个视频) 从零开始入门学习 React Native 开发,手把手教你写 App 项目 # ...

最新文章

  1. Tensorflow会话
  2. angular html清除元素,使用AngularJS删除DOM元素
  3. [转载] Python3 String模块ascii_letters和digits
  4. STM32f407---oled屏幕配套取字模软件使用
  5. Linux 虚拟IP
  6. EXCEL柱状图制作(三)
  7. ARM TrustZone技术简介
  8. 抗击肺炎,我们能做到的,就是别让爱隔离——python分析B站三个视频弹幕内容,云图数据。
  9. 移动直播技术秒开优化经验
  10. 阿里巴巴开源力作(二)--分布式流量卫兵Sentinel简介及控制台安装
  11. 【Proteus仿真】Arduino+uln2003驱动步进电机+单按键启保停正反转控制
  12. 使用MPC设计控制器
  13. CRMEB-知识付费系统程序配置之直播配置(方法二下)
  14. 云思智学获得2021年度“育见美好·机构创新服务奖”
  15. matlab中的锐度测量,锐度(解析度)MTF定义及测试
  16. 5.3Web服务器简介及HTTP协议
  17. 23种设计模式及解释(中英文对照)
  18. STM32F103移植LiteOS保姆级教程(基于Ubuntu平台)
  19. htmlcss小白标签篇
  20. android应用——木纹质感的手机通话键盘UI

热门文章

  1. 我们往往对陌生人更加宽容,对最亲的人却更加苛刻
  2. PacketTracer模拟器物联网教程7—LCD屏的使用方法
  3. 升职加薪的大门已向你敞开 CSDN线上云招聘来了!
  4. html5 drawimage参数,小程序中canvas的drawImage方法参数详解
  5. 小白如何学操作系统?
  6. 企业想要搭建CRM平台该如何操作?
  7. 初识Matlab2012a的神经网络工具箱(1)
  8. Java后端面试准备
  9. 大一被忽悠进了培训班
  10. Android--下载zip压缩文件并解压