SPA和MPA的區別
- SPA Single Page Application單頁面應用
- MPA Mutiple Page Application 多頁面應用
| 不同方面 | SPA | MPA |
|---|---|---|
| 歷史 | 現代 | 典型 |
| 耦合性 | 前后端松耦合 | 緊耦合,前后端代碼通常放在同個頁面 |
| 速度 | 速度很快,當資料改變時只在一個頁面改變部分組件 | 每次資料變化都需要重新請求和重繪頁面 |
| 開發 | 前后端松耦合,可分開同時開發 | 前后端緊耦合,需要先開發后端代碼 |
| 安全 | 依賴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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/261363.html
標籤:其他
