轻松理解Vue和React的异同

发布时间 2023-09-01 10:06:18作者: 浮萍人生

         

        在前端界,Vue和React最近几年一直是我们开发前端项目的两个主流选项。但作为一个想要学习使用框架最快速开发应用的新人我应该先学习哪个?或者说当我们在开发一个新项目时,到底具体是应该选择用Vue呢?还是应该选择用React?这两个的区别是什么?联系是什么?这篇文章,我尽量用最简单的语言来试图阐述我对这两个框架的理解,也希望可以帮助到其他同学。

 

        好了,废话不说,进入正题。

 

       我理解中的Vue的样子,用一句话概况就是:为了帮助前端开发人员可以更专注于UI逻辑或者说前端的业务逻辑来构建大型应用而沿用网页由html、css、js三层结构思想来设计的一套基于数据绑定的响应式系统。

       我理解中的React的样子,用一个句话概况就是:为了帮助前端开发人员可以更专注于UI逻辑或者说前端的业务逻辑来构建大型应用而把所有一切视为js的思想来设计的一套基于单向数据流来进行组合的一套组合式系统。

 

从上面这两句话,我们可以看出来它们的共同点和不同点如下:

       共同点:都是为了帮助前端开发人员可以更专注于UI逻辑或者说前端的业务逻辑来构建大型应用而生的。

       不同点:

              (1)为了解决共同点,Vue的解决问题的思路是:它认为对于已经有html、css、js基础的广大开发者来说,沿用html、css、js分开书写方式,然后在其上对html添加各种指令、对js添加Vue实例的各种选项来对其进行扩展,使开发者可以像使用HTML标记一样简单的只用一个标记去声明就可以解决相关界面和数据的交互问题,进而可以帮助开发者更平滑的掌握并接受这个框架。

              (2)为了解决共同点,React的解决问题的思路是:它认为html、css、js这些玩意在决定一个网页的表现上谁也离不开谁,那既然谁也离不开谁,js又可以生成它们,那把它们都视作js岂不好了。于是就设计出用js写出一个个包含着html、css、js的混合体组件,然后再用它们互相组合,在组合的时候通过数据的单向流动来保证数据的交互进而构成一个完整的应用。

 

        很明显,Vue的设计,更易于开发者使用以及和之前原有的使用原生js或jquery开发的应用集成;而React这样的设计,在思路上很简单,但对于之前已经熟悉了html、css、js三层结构来构建网页形式的开发者,从认识事物发展演变的角度来说,这样的转变太过突然,不够平滑,对于以前的非React应用集成有点困难。