VueReactAngular的优势劣势区别及适合的项目类型自己的一点点理解

三者各自的优势

**先说说前端框架的模式**
- MVC:Model(模型)+View(视图)+controller(控制器),主要是基于分层的目的,让彼此的职责分开。
  View通过Controller来和Model联系,Controller是View和Model的协调者,View和Model不            直接联系,基本联系都是单向的。
  用户User通过控制器Controller来操作模板Model从而达到视图View的变化。
  
- MVP:是从MVC模式演变而来的,都是通过Controller/Presenter负责逻辑的处理+Model提供数据+View负责显示。
  在MVP中,Presenter完全把View和Model进行了分离,主要的程序逻辑在Presenter里实现。
   并且,Presenter和View是没有直接关联的,是通过定义好的接口进行交互,从而使得在变更View的时候可以保持Presenter不变。
   
- MVVM:MVVM是把MVC里的Controller和MVP里的Presenter改成了ViewModel。Model+View+ViewModel。
   View的变化会自动更新到ViewModel,ViewModel的变化也会自动同步到View上显示。
 这种自动同步是因为ViewModel中的属性实现了Observer,当属性变更时都能触发对应的操作。
 
 **原文链接https://www.csdn.net/gather_25/OtTacgysNDA5LWJsb2cO0O0O.html**

优势

    • vue
      1.采用MVVM框架模式
      2.轻量级的框架,学习成本低
      3.现在比较普及的vue cli(2.0/3.0)双向数据绑定(object.defineProperty)
      4.有自己的指令(v-model),还可以自定义指令(v-xxx)
      5.组件化开发
      6.双向数据流
      7.数据集中管理(vueX)
      8.生命周期、路由、路由的生命周期
    • react
      1.采用MVC框架
      2.操作的是虚拟dom(jsx语法),极速的渲染性能
      3.项目结构清晰
      4.组件化开发
      5.生命周期、路由
      6.组件化开发 组件特性(props/state/setState())
      7.数据集中管理器 redux、react-redux等
      8.单向数据流
    • angular
      1.采用MVC框架
      2.良好的结构程序
      3.双向数据绑定(脏检查机制)
      4.指令
      5.适合开发大型项目
      6.依赖注入 通过依赖注入$scope可以对控制器等注入一些服务。

         如`function HelloController($scope, $log) {  
         $scope.greeting = { text: 'Hello' };  
         }  `
      

    劣势

    • vue
      1.不支持低版本浏览器(IE8及以下,双向数据绑定会失灵)
      2.首次加载页面耗时较长
      3.不适合大型项目开发
    • react
      1.目标是UI组件
      2.不适合采用react框架独立开发一整套项目
      3.第三方的依赖库少,不适合做大型项目
    • angular
      1.验证信息等类似功能薄弱,需要写很多的模板,不能嵌套多个视图,就算采用angular-ui/ui-router解决这个问题,但是这样做对URL控制性差,并且必须得是嵌套式,
      2.学习成本高
      3.不适合做中小型项目

    三者的区别
    vue :双向数据流,vuex集中管理数据,有指令且能自定义指令,双向数据绑定
    react :单项数据流,操作虚拟dom,redux集中管理数据,无指令
    angular :单项数据流,性能稍差于另外两个框架,学习成本高,双向数据绑定原理不同于vue

    三者适合的项目类型
    vue :适合中小型项目
    react :适合中小型项目
    angular :适合大型项目

    评论

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理