五年前,那時候php還很火,社區充滿了php的文章……幾乎每月都有新框架的產生並宣稱吊打一切,而後每月都有框架在倒閉……php
忽然有一天就變天了,php已經不是世界上最好的語言,如今py和golang就火起來了……前端
社區內成天討論前端的輪子,react、vue、angular……也是那個狀態,幾乎每一個產生的新輪子都在宣稱吊打一切,而後……而後倒閉了唄2333vue
與此同時,mvvm也被討論着,炒做着……react
我我的寫過了mvc和mvvm的網站,以爲其實直白看待兩種模式其實很簡單。golang
首先,mvc和mvvm是個啥?數據庫
直白的講,就是字面意思,一個是model+view+controller,一個是model+view+viewmodel後端
純字面意思,這有啥可探討的嘛……mvc
這些個字面意思都在幹啥事兒,model操做數據庫,view控制視圖,controller負責業務邏輯,或者……框架
model操做數據庫,viewmodel操做要在view渲染的數據(接口),view負責渲染……mvvm
就是就是這麼直白……有啥不懂的嘛……
而後,各有什麼優缺點?
mvc的優勢就是view層很輕薄,也很傳統,前端幾乎只須要頁面重構,後端工做量大一點……
並且無比簡單,不要考慮接口啥的,甚至php搭個環境就完事兒了……
mvc的缺點就是,控制器過重了,負責了幾乎所有的業務邏輯,並且這麼重的狀況下,幾乎沒法複用,不太符合工程化思想……
而後前端乾的活太少了,沒辦法加薪和裝逼了……
mvvm的優勢就是,業務邏輯能夠由前端負責了,能夠拆分組件了,也能夠裝逼加薪了,彷佛看上去更符合主流的組件化,工程化思想了……
mvvm的缺點……就是工程化帶來的繁瑣,好比咱們作一個有pc端,移動端,和後臺端的全棧網站,加上後端和數據庫,須要同時開五個接口!五個控制檯!
若是一我的來寫……就比較悲劇了……公司還分工配合着::>_<::一我的就該絕望了……
以上……就是優缺點,也很直白,真的其實沒啥可說的……原諒個人湊字數::>_<::
最後,如何正確對待這兩種模式?
其實兩種都是比較成熟的模式,直白的說,當你一我的全棧,寫個我的博客啥的,mvc無疑是很省事兒的(前提是你的後端基礎還行),效率滿滿的√
可是若是在公司,你做爲一個前端人員(好比我),是很指望mvvm的,先不說加薪裝逼,就只當成甩鍋,就很方便……
反正只要拿到接口就能夠隨心所欲了不是嗎(⊙o⊙)…
以上……說的挺直白的,你們不要在乎,之後不要再有mvvm優越,鄙視mvc的狀況啦……事實上這倆東西就是個字面意思,一秒鐘就能轉換……
看東西就是要直白的看本質√