前端開發本質上是一種展示層開發,我思考了一下這句話,這句話用人話說就是前端開發自己就是寫界面的。可是別人能把寫界面的能總結成下面一個循環,我發現這真的是能力了。以下圖,有略微的改動: 前端
下面就開始進入正題了。web
基於MVC的前端開發
簡單的MVC
先看下圖: 算法
演進的前端MVC架構
進一步複雜的前端MVCmvc
可是這樣是有下面兩個問題的,dom
以致於出現下面的情況:模塊化
前端的MVVM
雖然mvc有以上的弊端,可是由於沒有一個好的架構思想去取代他,因此也只能用MVC了,可是隨着前端angular的橫空出世,倡導的MVVM思想也隨之深刻人心,先看下圖:工具
這樣,咱們能經過操做Model來控制view的顯示,一個頁面的好比能拆分爲小功能(註冊/登錄、表單提交、XXX功能)這樣每一個功能對應一個Model,咱們就能模塊化的管理Model,就變爲了下圖: spa
因此當用戶操做界面的時候,咱們viewModel就知道是哪部分發生了變化,對應的viewModel就進行改變。.net
React一種新的思想
瞭解React的都知道,React對強大的功能就是vdom,可以計算出最有效也是花費最小的vdom和真實dom的差別並進行改變。
下圖爲MVVM的總體設計思路:
用戶操做view
dispatch view事件給狀態管理
狀態管理工具更新狀態/進行到下一個狀態
根據新的狀態,render view
React聽從的是單向的數據流:
MVVM和React
要解決的問題: 複雜的web交互致使view更新邏輯的爆炸
解決思路:
MVVM的實現是在工程上進行解決,React在解決思路(算法)上進行解決
版權聲明:本文爲博主原創文章,轉載請註明出處 https://blog.csdn.net/woshina...