小墨の博客

梦想需要付诸行动,否则只能是梦

VUE还是React:你应该选择哪一个Web前端框架?

VUE


摘自CSDN博主

https://blog.csdn.net/huangjianfeng21


VUE是什么

 

 VUE是一套构建用户界面的渐进式(用到哪一块就用哪一块,不需要全部用上)前端框架,Vue 的核心库只关注视图层。



兼容性

Vue.js 不支持 IE8 及其以下版本,因为 Vue.js 使用了 IE8 不能模拟的 ECMAScript 5 特性。Vue.js 支持所有兼容 ECMAScript 5 的浏览器。


学习资源

vue.js中文官网:http://cn.vuejs.org/

vue.js源码:https://github.com/vuejs/vue

vue.js官方工具:https://github.com/vuejs

vue.js官方论坛:forum.vuejs.org


vue.js的核心特点

  • 响应的数据绑定

  • 可组合的视图组件

  • 虚拟DOM

  • MVVM模式

  • 声明式渲染



React


摘自CSDN博主

https://blog.csdn.net/yangzhanghui

React

 

React是一个JavaScript框架,用于构建“可预期的”和“声明式的”Web用户界面,它已经使Facebook更快地开发Web应用。

特点

1、简单简单的表述任意时间点你的应用应该是什么样子的,React将会自动的管理UI界面更新当数据发生变化的时候。

2、声明式在数据发生变化的时候,React从概念上讲与点击了F5一样,实际上它仅仅是更新了变化的一部分而已。React是关于构造可重用组件的,实际上,使用React你做的仅仅是构建组建。通过封装,使得组件代码复用、测试以及关注点分离更加容易。

另外还有以下注意点:

  • React不是一个MVC框架

  • React不使用模板

  • 响应式更新非常简单


主要原理

      传统的web应用,操作DOM一般是直接更新操作的,但是我们知道DOM更新通常是比较昂贵的。而React为了尽可能减少对DOM的操作,提供了一种不同的而又强大的方式来更新DOM,代替直接的DOM操作。就是 Virtual DOM,一个轻量级的虚拟的DOM,就是React抽象出来的一个对象,描述dom应该什么样子的,应该如何呈现。通过这个Virtual DOM去更新真实的DOM,由这个Virtual DOM管理真实DOM的更新。

      为什么通过这多一层的Virtual DOM操作就能更快呢?这是因为React有个diff算法,更新Virtual DOM并不保证马上影响真实的DOM,React会等到事件循环结束,然后利用这个diff算法,通过当前新的dom表述与之前的作比较,计算出最小的步骤更新真实的DOM。



React 还是 Vue?


摘自CSDN博主

https://blog.csdn.net/yzh_2017

  •  如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue

  • 如果你喜欢简单和“能用就行”的东西,请使用Vue

  • 如果你的应用需要尽可能的小和快,请使用Vue

  • 如果你计划构建一个大型应用程序,请使用React

  • 如果你想要一个同时适用于Web端和原生App的框架,请选择React

  • 如果你想要最大的生态圈,请使用React

  • 如果你已经对其中一个用得满意了,就没有必要换了



       Vue应用的默认选项是把markup放入HTML文件中。数据绑定表达式使用的是与Angular相似的双大括号(moustache)语法,而指令(特殊的HTML属性)则用于向模板中添加功能。React应用则与之相反,不使用模板,而是要求开发者借助JSX在JavaScript中创建DOM。

对于来自标准Web开发的新开发者来说,模板更容易理解。然而甚至连一些资深的开发者也喜欢使用模板,因为模板能更好地把功能和布局分割开来,还为使用Pug之类的模板引擎提供了可能。


        不过使用模板的代价在于你需要学习所有的HTML扩展语法,而渲染函数(render function)只要求会使用标准的HTML和JavaScript。而且比起模板,渲染函数更易于调试和测试。但是,你并不应该因此就错过Vue,因为在Vue2.0中已经提供了使用模板或者渲染函数的选项。


       一个简单的Vue项目能不需要转译直接使用在浏览器中,这使得在项目中使用Vue可以像使用jQuery一样容易。当然这对于React来说在技术上也是可行的,但典型的React代码是更多地依赖于JSX和诸如class等ES6特性的。而Vue的简单则是更深层地源于其设计的。


      React里的状态(state)是不可变(immutable)的,因此你不能直接地改变它,而是要用setStateAPI方法。React是通过比较当前状态和前一个状态的区别来决定何时及如何重新渲染DOM的内容,因此需要使用不可变的状态。而与此相反的是,Vue中的数据是可变的(mutated),所以同样的数据变量可以用简洁得多的方式修改。


摘自:https://mp.weixin.qq.com/s/82zF8GUPrLr86ELGJp4Sew

张小弟之家

本文链接:
文章标题:

本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:503
    • 页面总数:20
    • 分类总数:92
    • 标签总数:207
    • 评论总数:58
    • 浏览总数:211726

    | | |
    | |  Z-Blog PHP