简介
React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。
与Web平台上的React相似,React Native也适用JSX语法进行开发,这种语法结合了JavaScript和类XML语言。React Native在后台通过“侨接”的方式,调用由Objective-C(ios平台)或Java(Android平台)开放的原生渲染API,因此你的应用将使用真正的原生的移动UI组件进行渲染,而不是WebView方式。
React?React.js?ReactNative?区别?
- React
React是基础框架,是一套基础设计实现理念,开发者不能直接使用它来开发移动应用或者网页。
在它之上发展出了React.js框架用来开发网页,发展出来ReactNative用来开发移动应用。因为React基础框架与React.js框架是同时出现、同时进化发展的,这就造成了React基础框架的基本概念、设计思想都是在React.js的相关文档中描述的。
- React.js
React.js 是一个帮助你构建web页面 UI 的库。React.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合、嵌套,就成了我们的页面。
React思想React.jsWeb框架React Native移动跨平台框架
工作原理
首先回顾一下React的一个特点:Virtual DOM(虚拟DOM)
在React中Virtual DOM就像是一个中间层,介于开发者描述的视图与实际在页面上渲染的视图之间。React维护了一个内存版本的DOM,通过计算得出的最小操作并重新渲染。
如图,这就是React Native的工作原理,React Native调用Objective-C的API去渲染ios组件,调用Java API去渲染Android组件,而不是渲染到浏览器的DOM上,侨接令这一切成为了可能,React组件通过
render方法返回了描述界面的标记代码,标记代码会被解析成特定平台的组件。
渲染周期
-
React组件挂载过程
-
React组件重新渲染过程
- React Native的生命周期与React基本相同,但是渲染过程有一些区别,因为React Native依赖与桥接,JavaScript通过桥接的解析,间接调用宿主平台的基础API和UI元素,React Native不在UI主线程运行,为异步调用。











网友评论