React Native笔记1简介

ReactNative移动跨平台开发,是一个前端框架,在学习ReactNative之前先了解一下背景


原生应用开发,web应用开发,混合应用开发

React:基础框架,主要是设计一些实现的理念,不能用来做网页的开发和移动应用的开发

React起源于Facebook公司,起初用于Instagram网站开发。React是一个用于构建用户界面的JavaScript库,不是一个MVC框架,提出了一种新的开发模式和理念,它强调的是“用户界面”。

React.js:在React的基础之上发展出来的,专门做网页开发的

ReactNative:专门做移动应用开发的

接下来我们了解一下React特点:

1、作为UI:React可以作为MVC中的View层进行使用,并且在已有项目中很容易使用React开发新功能

2、虚拟DOM:虚拟DOM是React最重要的特性,实现了优化视图的渲染和刷新。以前没有ajax技术的时候,web页面从服务器端整体渲染出html输出到浏览器进行渲染,同样的,用户的一个改变页面的操作也会刷新整个页面来完成,直到有了ajax出现,实现页面局部刷新,带来的高效和分离让web开发者们惊叹不已。但随之的问题是,复杂的用户交互及展现需要通过大量的DOM操作来完成,这让页面的性能以及开发的效率又出现了新的瓶颈,如何进行高性能的复杂DOM操作通常是衡量一个前端开发人员技能的重要指标。

时至今日,谈到前端性能优化,减少DOM元素、减少reflow和repaint、编码过程中尽量减少DOM的查询等手段是大家耳熟能详的,而页面任何UI变化都是通过整体刷新来完成的,而React之所以快,是因为它不直接操作DOM,而是引进虚拟DOM的实现来解决这个问题。

基于React进行开发时所有的DOM构造都是通过虚拟DOM进行,每当数据变化时,React都会重新构建一个完整的虚拟DOM树,虚拟DOM树是内存数据,React通过自己实现的DOM Diff算法将当前虚拟DOM树和上一次的DOM树进行对比,得到两个DOM结构的差异,然后仅仅将需要变化的部分进行实际的浏览器DOM更新。达到最小化重绘。避免不必要的DOM操作,解决了这两个公认的前端性能瓶颈,实现高效DOM渲染。

3、组件化:对于React而言,开发者从功能的角度出发,将UI分成不同的组件,每个组件都独立封装。在React中,你按照界面模块自然划分的方式来组织和编写你的代码,对于评论界面而言,整个UI是一个通过小组件构成的大组件,每个组件只关心自己部分的逻辑,批次独立,React组件应具有如下特征:可组合、可重用、可维护

4、数据流:React实现了单向的数据流,相对于传统的数据绑定,React更加灵活、便捷。

React学习准备:

1、前端基础知识:html、css、JavaScript

2、JSX语法知识

3、ES6相关知识

4、React中文网站:http://www.css88.com/react/index.html

React 和ReactNative的关系

1、React用于Web应用开发。ReactNative采用React方式进行移动应用开发。

2、ReactNative采用React语法,用于进行JavaScript跨终端应用开发。既拥有原生Native的交互体验,又能够保留React自由的开发效率。使用灵活的HTML和CSS布局,使用React语法构建组件,然后同时运行在IOS和Android平台上。

你可能感兴趣的:(React Native笔记1简介)