首页 > React适用于哪些应用场景

React适用于哪些应用场景

最近想要学习react,但不知道哪些项目可以用react,用了之后有什么好处,哪些又没有必要。希望大家在此讨论一下。


react Native比起标准Web开发或原生开发能够带来的三大好处:

手势识别:基于Web技术(HTML5/JavaScript)构建的移动应用经常被抱怨缺乏及时响应。而基于原生UI的React Native能避免这些问题从而实现实时响应。
原生组件:使用HTML5/JavaScript实现的组件比起原生组件总是让人感觉差一截,而React Native由于采用了原生UI组件自然没有此问题。
样式和布局:iOS、Android和基于Web的应用各自有不同的样式和布局机制。React Native通过一个基于FlexBox的布局引擎在所有移动平台上实现了一致的跨平台样式和布局方案。


个人觉得一些后台界面,或者是和后台数据比较多,又或者和用户交互比较多,dom操作频繁的都可以用react。
因为react的大特点就是虚拟DOM技术,这样可以提高渲染的性能。个人的体验就是,用react可以让整个页面的速度提高很多。
另外这样做的话,和后台的数据通过接口来进行前后端分离,也挺好挺方便的。


React来源于Facebook的PHP框架XHP的一个分支,这个框架在每次有请求进来时渲染整个页面。React就是为了把这种重新渲染整个页面的PHP式工作流带到Client中。React本质就是一个状态机,帮助开发者管理复杂的随之时间而变化的状态。他是MVC中的V。React的出现,保存了用户在页面上的状态。他把前端页面组件化(比如Form表单),提高代码重复利用率,简化了开发,适合大型的项目,有利于前后端的分离。React还可以构建桌面应用,游戏,电子邮件,绘图等等,React Native 可以构建APP。


从我个人来看react的一个重要好处是可以降低很多服务器端的计算过程

比如一个有三种方法可以排序的列表,原来在服务器端渲染的话需要三次请求,服务器要做三次渲染,返回三次结果,而现在,你只需要提供一个打包好的js文件(这个文件通常还是被缓存的),然后提供一次原始数据,这个数据会被存入store中。之后用户可以随意的在浏览器端按照不同的视图来查看这个列表,所有的排序都由js引擎来完成,一般来说如今的硬件水准排序一个一百多项目的数组应该不是问题吧。而服务器只需要保证用户store中的数据是最新的即可。不是说原本的js做不到这一点,重点是在react的帮助下操作界面元素的工作变得无比轻松。

从上面的角度延伸一下,reactjs最重要的新概念就是flux的模型。

数据库 -> server -> store -> view

(如果换个角度来看就是)

数据库 -> server -> ( web app)
                      store
                        |
                      view

这样一个结构彻底的分离了前端和后端,并且前端工程师不是一直在讨论“到底什么时候做前端能和做原生app一样简单呢”吗,看到了?react的到来使得web app的概念变得如此简单,单向的数据流使得整个网页(或者说web app)的结构变得无比的清晰

【热门文章】
【热门文章】