浅谈web三大框架优缺点及适用场景之React框架

根据React官方介绍,React-A JavaScript library for building user interfaces,React 是一个为数据提供渲染为HTML视图的开源JavaScript库。从这个定义来看,能够发现React是一个View层,它的做用是提供了一套数据机制。
React是第一个采用Virtual DOM的、流行的前端框架。传统的DOM操做是直接在DOM上操做的,当须要修改一系列元素中的值时,就会直接对DOM进行操做。而采用Virtual DOM则会对须要修改的DOM进行比较(DIFF),从而只选择须要修改的部分。所以,对于不须要大量修改DOM的应用来讲,采用Virtual DOM并不会有优点。
除了在编写应用时不须要对DOM进行直接操做、提升了应用的性能,React还有一个重要的思想即组件化,即UI中的每一个组件都是独立封装的。而且,因为这些组件独立于HTML,因此它们不只能够运行在浏览器里,还能做为原生应用的组件来运行。组件之间可经过属性和事件来进行通讯。同时,在React中还引入了JSX模板,即在JS中编写模板,并且还须要使用ES6.
使人遗憾的是,React只是一个View层,它是为了优化DOM的操做而诞生的。为了完成一个完整的应用,咱们还须要路由库、执行单向流库、web API调用库、测试库、依赖管理库等,这简直是一场噩梦。所以为了搭建出一个完整的React工程,咱们还须要作大量的额外工做。
1.适用场景
选择React而不是别的框架还有一个重要的缘由:React的思想不局限于前端领域,它还有React Native、React VR 等,它们能够在不一样的平台之上运行类React的View层。使用与React语法相似的React Native,咱们能够编写出原生的移动应用。此外,咱们还能够在web应用程序与iOS、Android应用程序之间,共享大部分业务逻辑。
如阅文集团在其网站起点海外版中,采用了React对原有的应用进行重构。其缘由是,因为以前的App部分采用Hybrid架构模式,所以便采用了React Native来解决性能问题。React Native不只能解决开发上的性能瓶颈问题,还适合前端开发人员上手开发应用。
阿里巴巴的一些部门(如智能服务事业部)里采用React框架的主要缘由是生态,其在公司内部已经有大量的与React相关的基础设施如Ant Design、Ant Design Pro、及Fusion等UI组件库。如Ant Design Pro则很是适合中台前端的解决方案设计。
与此同时,出现一些相关框架好比ReactXP,能够在共享逻辑的基础上实现跨多个目标平台共享视图定义、样式和动画、而不须要作出太多修改,进一步实现代码在原生应用于Web应用的复用。随着这项技术在不一样平台如VR的发展,在遥远的将来也能够实现复用业务逻辑及View层。前端

相关文章
相关标签/搜索