React Native与React的关系及特点

一、React、React.js和React Native的关系

React是基础框架,是一套基础设计实现理念,开发者不能直接使用它来开发移动应用或网页。

在React之上发展出了React.js框架用来开发网页,发展出来React Native用来开发移动应用。

因为React基础框架与React.js框架是同时出现、同时进化发展的,就造成了React基础框架的基本概念、设计思想都是在React.js的相关文档中描述的。

后来,Facebook推出React Native后,也没有把React的相关概念文档从React.js文档中分离出来,就导致了学React Native要去看React.js文档。

二、React Native开发特点

1、一次学习,随处编写;

使用React Native可以为iOS和Android操作系统开发应用程序,不同平台上的代码根据平台会有一些微小的区别。

2、混合开发

React Native代码开发的模块与原生代码开发的模块可以双向通信、无缝衔接;
混合开发可以分为3种情况:

  • 通用的UI界面与业务逻辑由React Native开发,但与手机平台紧密关联的处理由原生代码来执行;
  • 将原来使用原生代码实现的UI小部件包装成React Native的自定义组件;
  • 应用界面在React Native开发的界面与原生代码开发的界面间切换;

3、高效的移动应用开发

使用RN开发移动应用,绝大部分UI界面与业务逻辑都是一套代码。使用React Native开发移动应用的UI界面比使用原生语言快捷高效,业务逻辑处理部分开发效率与开发原生代码相仿。

UI开发是React Native的强项的主要体现:

(1)独特的UI实现框架

React重新思考了UI开发过程,并且提出了一套全新的、高效的框架。React Native官网描述的出发点:用于开发数据不断变化的大型应用程序。

(2)组件化开发

React推荐以组件的方式去重新思考UI构成,将UI上每一个功能相对独立的模块定义成组件,将小的组件通过组合或者嵌套的方式构成大的组件,最终完成整体UI的构建。

(3)跨平台移植代码迅速

使用React Native进行UI开发时,开发者通常是先在一个操作系统上开发,然后用这套代码去另一个操作系统中添加适配代码,做到一份代码在两个平台运行。

(4)自动匹配不同屏幕大小的手机

使用React Native开发,开发者无须为不同的屏幕分辨率准备不同的图片资源或者布局文件甚至可以不考虑屏幕大小的问题,通过灵活的布局方式,React Native可以做到在不同的手机屏幕上高效、清晰的UI呈现。

4、高效的移动应用开发调试

使用React Native开发,修改了代码后立刻可以在手机上看到效果,没有重新编译启动程序所需要的时间。

5、灵活高效的应用热更新

开发者可以在用户基本无感知的情况下加入新界面、新功能与新的业务逻辑。

6、有效降低移动应用安装包体积

移动应用功能越复杂,RN安装包相比原生代码安装包就越小。

7、学习门槛低、开发难度低

(1)开发语言简单

React Native使用ES6语言,以及自创的JSX语言进行的开发。

(2)语法接近自然语言

React Native开发中的函数名、变量名都采用类似于自然语言的命名法,便于记忆,语言的含义基本上可以直接推断与理解。

(3)积木式UI开发

不论是设计还是实现,通过React Native框架都能做到结构清晰、开发难度低、可读性高、后期修改维护方便。

8、开发硬件要求低

React Native开发用的软件都是可免费下载、安装使用的正版软件,部分是开源软件,对硬件要求也不高。

9、使用React Native开发的代价

为了得到React Native开发的优点,使用React Native开发的APP也需要付出一定的代价。

(1)内存消耗大

使用React Native开发的程序运行所需的内存比原生代码开发的程序略多。

(2)运行速度

使用React Native开发的代码运行速度比原生代码略慢。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,391评论 25 707
  • 文/彦菲 今天学习的小理论:说服性沟通 日常生活中我们经常会做多种多样的说服性沟通。 譬如,在工作时,希望得到上级...
    Ruby彦菲阅读 1,478评论 0 0
  • 有这样一个故事: 古代有个王后,她有个很奇怪的习惯。那就是每天下午四时,她都要离开一段时间,她不要人跟踪,也不要国...
    画荷女子阅读 272评论 0 0
  • 百度查证:发芽还可以吃,发芽会导致营养物质的流失,但不会产生毒素,将发芽部分及附近深度切除,泡水洗净还是可以吃的。...
    惜惜皮皮阅读 248评论 0 0
  • 2017年的最后一个工作日,该坐下来好好想想2017年的一些事。25年来第一次(以前是老师布置的作业)写年终总结,...
    6F7765阅读 126评论 0 0