近年來前端開發趨勢,MVVM框架,Vue.js的核心思想


近年來前端開發趨勢

  1.舊瀏覽器逐漸淘汰,移動端需求增加

  2.前端交互越來越多,功能越來越復雜

  現如今,前端可謂是包羅萬象,產品形態五花八門,涉獵極廣。高大上的技術庫和框架,酷炫的運營活動頁面和好玩的H5小游戲,不過這些一兩個文件的小項目並非是前端技術的主要應用場景,更具商業價值的是復雜的web應用,它們功能完善,頁面繁多,為用戶提供了完整的產品體驗,例如新聞趣味站,在線購物平台, 社交網絡,金融信貸應用,音樂互動社區,視頻分享平台,打車出行平台等等,這些網站和平台的共同特點就是交互多,功能復雜。

 3.架構從傳統的后台MVC向REST API+前端MV*遷移

 傳統的后台MVC方式,是當前端與后端發生一些數據交互的時候,會刷新整個頁面,這樣的用戶體驗是非常差的,因此,我們通過ajax的方式,和后端REST API做通信,異步刷新頁面的某個區塊,來優化和提升體驗,同時把MV*拿到前端來做。

MVVM框架

  MVVM框架主要包括三個部分Model、View和ViewModel,Model指的是數據部分,對應到前端就是一些Javascript對象,View指的視圖部分,對應到前端就是DOM,ViewModel就是連接數據和視圖的中間件,在MVVM的框架下視圖和數據是不能直接通信的,它們通過ViewModel來通信,ViewModel通常要實現一個observer觀察者,當數據發生變化,ViewModel能夠監聽到數據的這種變化,然后通知到對應的視圖做自動更新,而當用戶操作視圖,ViewModel也能監聽到視圖的變化,然后通知數據做改動,這實際上就實現了數據的雙向綁定。以上便是MVVM的一些基本概念。

MVVM框架的主要應用場景

  1)針對具有復雜交互邏輯的前端應用

  2)提供基礎的架構抽象

  3)通過Ajax數據持久化,保證前端用戶體驗

  好處就是當前后端進行一些數據交互的時候,前端可以通過Ajax請求對后端做數據持久化,不需要刷新整個頁面,只需要改動DOM里需要改動的那部分數據和內容,特別是對於移動端應用場景,刷新頁面的代價太昂貴,會重新加載很多資源,雖然有些資源會被緩存,但是頁面的DOM、JS、CSS都會被瀏覽器重新解析一遍,因此,移動端頁面經常會做成SPA單頁應用,在這個基礎上就誕生了很多MVVM框架,如Angular、React、Vue

Vue.js的核心思想

  Vue.js的核心思想包括兩個方面:數據驅動和組件化

  數據驅動:DOM是數據的一種自然映射,在vue.js中只需要操作數據,vue.js通過directives指令去對DOM做一層封裝,當數據發生變化,會通知指令去修改對應的DOM,數據驅動DOM變化,DOM是數據的一種自然映射,vue.js還會對操作做一些監聽,當我們修改視圖的時候,vue.js監聽到這些變化,從而去改變數據,這樣就實現了數據的雙向綁定。

  組件化的目的是擴展HTML元素,封裝可重用的代碼

  組件設計原則:

  1)頁面上每個獨立的可視/可交互區域視為一個組件,

  2)每個組件對應一個工程目錄,組件所需要的各種資源在這個目錄下就近維護,

  3)頁面不過是組件的容器,組件可以嵌套自由組合形成完整的頁面。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM