VueReact两个Javascript框架都是当下比较受欢迎的,他们两者之间的区别有哪些,各自的优缺点是什么,本文将为你呈现。


你的凯哥呀

简单介绍

除非你最近一直不关注前端的发展,不然你肯定听说过由Facebook创建的JavaScript UI框架——React。它支撑着包括Instagram在内的大多数Facebook网站。React与当时流行的jQuery,Backbone.js和Angular 1等框架不同,它的诞生改变了JavaScript的世界。其中最大的变化是React推广了Virtual DOM(我们稍后探究)并创造了新的语法——JSX,JSX允许开发者在JavaScript中书写HTML(译者注:即HTML in JavaScript)

Vue致力解决的问题与React一致,但却提供了另外一套解决方案。Vue使用模板系统而不是JSX,使其对现有应用的升级更加容易。这是因为模板用的就是普通的HTML,通过Vue来整合现有的系统是比较容易的,不需要整体重构。同时Vue声称它更容易学习。关于Vue还需要说的是,Vue主要是由一位开发者进行维护的,而不像React一样由如Facebook这类大公司维护。

Vue的优势是:

  • 模板和渲染函数的弹性选择
  • 简单的语法和项目配置
  • 更快的渲染速度和更小的体积
  • 更加适合小型项目

React的优势是:

  • 更适合大型应用和更好的可测试性
  • Web端和移动端原生APP通吃
  • 更大的生态系统,更多的支持和好用的工具
  • 比较适合中大型项目

React和Vue相似之处:

  • 用虚拟DOM实现快速渲染
  • 轻量级
  • 响应式组件
  • 服务端渲染
  • 集成路由工具,打包工具,状态管理工具的难度低

React和Vue的不同之处:

  • React与Vue最大的不同是模板的编写。模板 vs JSX,Vue鼓励你去写近似常规HTML的模板。写起来很接近标准HTML元素,只是多了一些属性;React推荐你所有的模板通用JavaScript的语法扩展——JSX书写。
  • 状态管理 vs 对象属性,如果你对React熟悉,你就会知道应用中的状态是(React)关键的概念。也有一些配套框架被设计为管理一个大的state对象,如Redux。此外,state对象在React应用中是不可变的,意味着它不能被直接改变(这也许不一定正确)。在React中你需要使用setState()方法去更新状态。在Vue中,state对象并不是必须的,数据由data属性在Vue对象中进行管理。

总之,react适用于大型的项目,且复杂度较高,相对开发而言上手较慢,但是生态好。

相对于vue而言,上手简单更易懂一些,适用于小而简的项目。

发表回复

您的电子邮箱地址不会被公开。