react native 和react js的区别

 我来答
双子孙行者
2017-04-22 · TA获得超过426个赞
知道小有建树答主
回答量:152
采纳率:100%
帮助的人:89.3万
展开全部
  1. 首先要明白react native 和react js的定义

    ReactNative: 可以基于目前大热的开源JavaScript库React.js来开发iOS和Android原生App。而且React Native已经用于生产环境——Facebook Groups iOS 应用就是基于它开发的。


    React Native的原理是在JavaScript中用React抽象操作系统原生的UI组件,代替DOM元素来渲染,比如以<View>取代<div>,以<Image>替代<img>等


    在幕后,React Native在主线程之外,在另一个背景线程里运行JavaScript引擎,两个线程之间通过一批量化的async消息协议来通信(有一个专门的React插件)。


(1),React Js的目的是为了使前端的V层更具组件化,能更好的复用,它能够使用简单的html标签创建更多的自定义组件标签,内部绑定事件,同时可以让你从操作dom中解脱出来,只需要操作数据就会改变相应的dom。
(2),React Native的目的是希望我们能够使用前端的技术栈就可以创建出能够在不同平台运行的一个框架。可以创建出在移动端运行的app,但是性能可能比原声app差一点。

2 . 原理略有不同:

ReactJs和React Native的原理是相同的,都是由js实现的虚拟dom来驱动界面view层渲染。只不过ReactJs是驱动html dom渲染; React Native是驱动android/ios原生组件渲染。其实在React Native推出之前,就已经存在这种使用js驱动app原生组件的技术了,比如Native Script。

3 . 编程思路会有所不同:

react 直接渲染dom,而rn生成id,用bridge(最新用c++实现了)变成一个表,等待 native 去调用,写react可以用前端知识直接上手,rn虽然也可以,但是深入下去没有native知识支持很难.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式