首先要明白 react native 和 react 的定义
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 差一点.
react native 和 react 的区别
原理略有不同:
React 和 React Native 的原理是相同的, 都是由 JS 实现的虚拟 dom 来驱动界面 view 层渲染. 只不过 React 是驱动 HTML dom 渲染; React Native 是驱动 Android/iOS 原生组件渲染. 其实在 React Native 推出之前, 就已经存在这种使用 JS 驱动 App 原生组件的技术了, 比如 Native Script.
编程思路会有所不同:
react 直接渲染 dom, 而 react native 生成 id, 用 bridge(最新用 c++ 实现了) 变成一个表, 等待 native 去调用, 写 react 可以用前端知识直接上手, react native 虽然也可以, 但是深入下去没有 native 知识支持很难.
更多网站前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/react/15867.html