1 單頁面應用程式 Single Page Application (SPA) 從字面意義來看就是一個網站就一個頁面,如: coding 網易雲音樂 極致的用戶體驗,就像nativeapp一樣 優點: 具有桌面應用的即時性、網站的可移植性和可訪問性。 用戶體驗好、快,內容的改變不需要重新載入整個頁面 ...
1 單頁面應用程式
- Single Page Application (SPA)
- 從字面意義來看就是一個網站就一個頁面,如:
- coding
- 網易雲音樂
- 極致的用戶體驗,就像nativeapp一樣
- 優點:
- 具有桌面應用的即時性、網站的可移植性和可訪問性。
- 用戶體驗好、快,內容的改變不需要重新載入整個頁面,web應用更具響應性和更令人著迷。
- 基於上面一點,SPA相對對伺服器壓力小。
- 良好的前後端分離。SPA和RESTful架構一起使用,後端不再負責模板渲染、輸出頁面工作,web前端和各種移動終端地位對等,後端API通用化。
- 對前端人員javascript技能要求更高,促使團隊技能提升。
- 缺點:
- 分功能模塊的鑒權不好實現。
- 不利於SEO。所以不適用於購物網站
- 前進、後退、地址欄等,需要程式進行管理;
- 書簽,需要程式來提供支持;
- 簡單的應用原理:
- hash
- window.onhashchange事件
- 當hash改變的時候,根據不同的hash做不同處理
2 MVVM模式
MVVM是Model-View-ViewModel的簡寫。 一種架構模式,開發思想。這種模式最大的好處在於解耦,數據和視圖不再是強耦合在一起。它本質上就是MVC 的改進版。
M - Model 業務數據模型
V - View 視圖
VM - ViewModel 視圖數據模型(負責V和M交互)
核心思想:數據驅動視圖(VM)
優點:
1. 低耦合。視圖(View)可以獨立於Model變化和修改,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
2. 可重用性。你可以把一些視圖邏輯放在一個ViewModel裡面,讓很多view重用這段視圖邏輯。
3. 獨立開發。開發人員可以專註於業務邏輯和數據的開發(ViewModel),設計人員可以專註於頁面設計,使用Expression Blend可以很容易設計界面並生成xml代碼。
4. 可測試。界面素來是比較難於測試的,而現在測試可以針對ViewModel來寫。
3 主流的前端Java Script框架
- Angular
- 09年誕生
- 原來是個人開發的,後來被谷歌收購了
- React
- 誕生於facebook公司內部
- facebook不滿足於市場上所有js框架,所以自己搞了一個。
- vue.js
- 尤雨溪(中國江蘇無錫人)----創造
- 12年左右誕生
- 文檔都中文的,對英文要求不高,非常友好
目前在國內公司中,BAT級別的企業:React > Angular > vue,不大使用國內產品。在中小型公司,vue.js更多一些
4 Vue.js介紹
是什麼?
- 前端Java Script框架
為什麼要用它?
- 它能幫助提升網站應用程式開發效率
一般什麼情況會使用?
- 一般需要開發SPA應用程式的時候取用
- 但是vue是漸進式的,可以融入到不同的項目中
- 既可以和傳統的網站開發架構融合在一起,例如:可以簡單的把它當作一個類似JQuery的庫來使用。
- 也可以使用它開發大型的SPA單頁面應用程式。
發展歷史
- 作者:尤雨溪(微博:尤小右),設計出身。
- 知乎
- 新浪微博
- 作者尤雨溪最初在2013年12月8號在GitHub上發佈0.6版
- 2015年10月正式發佈了1.0版本
- vue在1.0版本發佈後才開始嶄露頭角
- 2016年10月份正式發佈了2.0版
- 1.0老的項目可能還在用,新項目絕對選擇2.0
心態:國內的產品不一定就是不好,框架只是個工具,不應該懂了或者精通就有自我優越感。不要看不起國產,也不要執著於一個框架。
相關資料:
中文官網:https://cn.vuejs.org/
GitHub: https://github.com/vuejs/vue
官方教程:https://cn.vuejs.org/v2/guide/
API參考文檔:https://cn.vuejs.org/v2/api/
建議:學習前端框架,多參考文檔,不建議買書,
- 版本更新較塊,不適合看書。
- 很多書都是直接抄的官方文檔
- 也說明,官方文檔寫的非常好。