SPA 和 MPA 的区别,MVC 和 MVVM 的区别以及聚焦于 View-Model 的 Vue 框架

本文对比了单页面应用(SPA)与多页面应用(MPA)的特点,包括它们的历史背景、耦合性、开发速度、安全性和搜索引擎优化等方面,并探讨了MVC与MVVM两种架构的主要区别。

SPA 和 MPA 的区别

  • SPA Single Page Application:单页面应用
  • MPA Mutiple Page Application:多页面应用
不同方面SPAMPA
历史现代典型
耦合性前后端松耦合紧耦合,前后端代码通常放在同个页面
速度速度很快,当数据改变时只在一个页面改变部分组件每次数据变化都需要重新请求和刷新页面
开发前后端松耦合,可分开同时开发前后端紧耦合,需要先开发后端代码
安全依赖JS,JS不需编译,这样就易受攻击,安全性差较为安全,MPA可都为静态内容
SEO较差较好

SEO Search Engineen Optimization 搜索引擎优化,搜索引起主要靠爬取来对网页进行索引,静态内容的网页更好爬取,也因此能获得更好的排名

在这里插入图片描述

MVC 和 MVVM 的区别

MVC Model View Controller:将程序分成三个逻辑组件(Model、View、Constroller)的一个架构(Architecture)
MVVM Model View View-Mode:方便图形用户界面(Graphical User Interface)开发分离的一个架构

关键区别

  • MVC 架构历史悠久,而 MVVC 框架相对来说是一个新的东西
  • MVC 框架的程序入口点是 Controller,而 MVVM 的程序入口点是 View,这是因为 MVC 是由控制器来掌控整个程序的,而 MVVM 是事件驱动(event-drived)
  • MVC 中,Controller 和 View 是一对多的关系,在 MVVM 中,View 和 View-Model 是一对多的关系
  • MVC 的 Model 组件可以独立于用户来测试,MVVC 方便单元测试
  • MVC 可以用于 Web 开发,而 MVVM 主要用于桌面应用的图形化界面(因其数据绑定能力)

个人总结:MVC 框架方便后端程序开发,它在逻辑上去区分表现层、业务层和持久层,MVVM 方便图形化界面的开发,像桌面应用,他最大的特点就是由用户通过图形化界面来触发事件的、因此需要对数据进行实时监测检测并能动态修改的 View-Model。

MVC 架构:

MVVC 架构:

聚焦于 View-Model 的 Vue 框架

Vue 框架不完全遵照 MVVM 模型,它将 DOM 作为 View,而且主要聚焦于 MVVM 的 View-Mode层,Model 简单用一个 Plain JavaScript Object 来放置数据,Vue 起到一个监听 View 数据改变并进行数据双向绑定、动态修改的作用。
在这里插入图片描述

  • 每一个 Vue 实例都和一个对应的 DOM 元素关联
  • Vue.js 通过将数据对象中的属性转换为 ES5 的 getter/setters 来实现透明的交互。不需要作脏数据校验,也不需要去显示地通知 Vue 去更新 View。当数据改变,View 在下一帧也会被更新。

参考
[0]. Single Page Application (SPA) vs Multi Page Application (MPA) – Two Development Approaches
[1]. MVC vs MVVM: Key Differences with Examples
[2]. Getting Started

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值