單頁Web應(yīng)用:
就是只有一張Web頁面的應(yīng)用。單頁應(yīng)用程序 (SPA) 是加載單個(gè) HTML 頁面并在用戶與應(yīng)用程序交互時(shí)動(dòng)態(tài)更新該頁面的 Web 應(yīng)用程序。瀏覽器一開始會(huì)加載必需的 HTML、CSS 和 JavaScript,所有的操作都在這張頁面上完成,都由 JavaScript 來控制。因此,對(duì)單頁應(yīng)用來說模塊化的開發(fā)和設(shè)計(jì)顯得相當(dāng)重要。
單頁 Web 應(yīng)用的優(yōu)點(diǎn):
提供了更加吸引人的用戶體驗(yàn):具有桌面應(yīng)用的即時(shí)性、網(wǎng)站的可移植性和可訪問性。
單頁應(yīng)用的內(nèi)容的改變不需要重新加載整個(gè)頁面,web應(yīng)用更具響應(yīng)性和更令人著迷。
單頁應(yīng)用沒有頁面之間的切換,就不會(huì)出現(xiàn)“白屏現(xiàn)象”,也不會(huì)出現(xiàn)假死并有“閃爍”現(xiàn)象
單頁應(yīng)用相對(duì)服務(wù)器壓力小,服務(wù)器只用出數(shù)據(jù)就可以,不用管展示邏輯和頁面合成,吞吐能力會(huì)提高幾倍。
良好的前后端分離。后端不再負(fù)責(zé)模板渲染、輸出頁面工作,后端API通用化,即同一套后端程序代碼,不用修改就可以用于Web界面、手機(jī)、平板等多種客戶端。
單頁 Web 應(yīng)用的缺點(diǎn):
首次加載耗時(shí)比較多。
SEO問題,不利于百度,360等搜索引擎收錄。
容易造成Css命名沖突。
前進(jìn)、后退、地址欄、書簽等,都需要程序進(jìn)行管理,頁面的復(fù)雜度很高,需要一定的技能水平和開發(fā)成本高。