頁Web應(yīng)用是當(dāng)今網(wǎng)站開發(fā)技術(shù)的弄潮兒,很多傳統(tǒng)網(wǎng)站都在或者已經(jīng)轉(zhuǎn)型為單頁Web應(yīng)用,新的單頁Web應(yīng)用網(wǎng)站(包括移動(dòng)平臺(tái)上的)也如雨后春筍般涌現(xiàn)在人們的面前,如Gmail、Evernote、Trello等。
什么是單頁面應(yīng)用程序
單頁面應(yīng)用應(yīng)用(即Single-page App,以下簡(jiǎn)稱SPA),就是只有一張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)用(single page web application,SPA),就是只有一張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)重要。
以前,瀏覽器會(huì)收到來自服務(wù)器的HTML。當(dāng)用戶訪問另一個(gè)URL地址時(shí),需要全頁刷新,服務(wù)器也會(huì)發(fā)送全新HTML。這就是所謂的服務(wù)器端渲染。
但是,在現(xiàn)代SPA中,客戶端渲染已經(jīng)取代了服務(wù)器端渲染。瀏覽器會(huì)先從服務(wù)器上加載出最初圖像,和包括框架、庫和應(yīng)用代碼在內(nèi)的腳本,以及整個(gè)應(yīng)用所需的樣式表。當(dāng)用戶訪問其他頁面時(shí),頁面將不會(huì)進(jìn)行整體刷新,而是通過HTML5 History API對(duì)頁面地址進(jìn)行更新。以JSON形式呈現(xiàn)出來的新頁面所需的新數(shù)據(jù),將會(huì)通過向服務(wù)器發(fā)出的AJAX請(qǐng)求,由瀏覽器檢索進(jìn)行檢索。接著,SPA會(huì)通過原先在頁面中下載好的JavaScript,來對(duì)頁面數(shù)據(jù)進(jìn)行動(dòng)態(tài)更新。
SPA的特點(diǎn)
速度:更好的用戶體驗(yàn),讓用戶在web app感受native app的速度和流暢,
MVC:經(jīng)典MVC開發(fā)模式,前后端各負(fù)其責(zé)。
ajax:重前端,業(yè)務(wù)邏輯全部在本地操作,數(shù)據(jù)都需要通過AJAX同步、提交。
路由:在URL中采用#號(hào)來作為當(dāng)前視圖的地址,改變#號(hào)后的參數(shù),頁面并不會(huì)重載。
SPA的開發(fā)流程
用循環(huán)的視角審視Web應(yīng)用開發(fā)
框定一個(gè)一致的SPA圖形用戶界面(GUI)和模型
將SPA的原則帶回服務(wù)器端
聚集于對(duì)合適的應(yīng)用進(jìn)行早期SPA開發(fā)
SPA的優(yōu)點(diǎn)
1.應(yīng)用針對(duì)用戶操作給出的反應(yīng)更加靈敏,不會(huì)由于頁面整體刷新而出現(xiàn)閃退;
2.向服務(wù)器發(fā)送的HTTP請(qǐng)求減少,無需在每一頁進(jìn)行重復(fù)下載;
3.用戶和服務(wù)器劃分明確,無需修改服務(wù)器代碼就可以輕松為新用戶創(chuàng)建不同平臺(tái)。另外,只要不違背API規(guī)則,還可以分別對(duì)用戶和服務(wù)器的技術(shù)堆棧進(jìn)行修改。
SPA的缺點(diǎn)
1.最開始的加載任務(wù)較重,包括框架和應(yīng)用代碼等;
2.需要對(duì)服務(wù)器進(jìn)行額外的配置操作,讓它將所有請(qǐng)求匯集到同一個(gè)進(jìn)入點(diǎn);
3.SPA依靠JavaScript來呈現(xiàn)內(nèi)容,但并不是所有搜索引擎都能夠在爬蟲過程中執(zhí)行JavaScript。這一點(diǎn),無疑會(huì)對(duì)應(yīng)用的搜索引擎優(yōu)化帶來負(fù)面影響。
SSL證書是HTTP明文協(xié)議升級(jí)HTTPS加密協(xié)議的重要渠道,是網(wǎng)絡(luò)安全傳輸?shù)募用艿酵ǖ馈jP(guān)于更多SSL證書的資訊,請(qǐng)關(guān)注GDCA(數(shù)安時(shí)代)。GDCA致力于網(wǎng)絡(luò)信息安全,已通過WebTrust 的國際認(rèn)證,是全球可信任的證書簽發(fā)機(jī)構(gòu)。GDCA專業(yè)技術(shù)團(tuán)隊(duì)將根據(jù)用戶具體情況為其提供最優(yōu)的產(chǎn)品選擇建議,并針對(duì)不同的應(yīng)用或服務(wù)器要求提供專業(yè)對(duì)應(yīng)的HTTPS解決方案。
文章轉(zhuǎn)載:https://www.trustauth.cn/wiki/19993.html
. 什么是單頁面應(yīng)用程序
單頁面應(yīng)用程序(英文名: Single Page Application)簡(jiǎn)稱SPA,顧名思義就是指的是一個(gè)web網(wǎng)站中只有唯一的一個(gè)HTML頁面,所有的功能與交互都在這唯一的一個(gè)頁面內(nèi)完成。
2. 單頁面應(yīng)用程序的特點(diǎn)
單頁面應(yīng)用程序?qū)⑺械墓δ芫窒抻谝粋€(gè)web頁面中,僅在該web頁面初始化時(shí)加載相應(yīng)的資源(HTML、JavaScript和CSS)。一旦頁面加載完成了,SPA不會(huì)因?yàn)橛脩舻牟僮鞫M(jìn)行頁面的重新加載或跳轉(zhuǎn)。而是利用JavaScript動(dòng)態(tài)地變換HTML內(nèi)容,從而實(shí)現(xiàn)頁面與用戶的交互。
3. 單頁面應(yīng)用程序的優(yōu)點(diǎn)
SPA單頁面應(yīng)用程序最顯著的3個(gè)優(yōu)點(diǎn)。
4. 單頁面應(yīng)用程序的缺點(diǎn)
任何一種技術(shù)都有自己的局限性,對(duì)于SPA單頁面應(yīng)用程序來說,主要的缺點(diǎn)有兩個(gè)。
5. 如何快速創(chuàng)建vue的SPA項(xiàng)目
Vue官方提供了兩種快速創(chuàng)建工程化的SPA項(xiàng)目的方式
①基于vite創(chuàng)建SPA項(xiàng)目
②基于vue-cli創(chuàng)建SPA項(xiàng)目
單頁Web應(yīng)用(single page web application,SPA):
就是只有一張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):
1、提供了更加吸引人的用戶體驗(yàn):具有桌面應(yīng)用的即時(shí)性、網(wǎng)站的可移植性和可訪問性。
2、單頁應(yīng)用的內(nèi)容的改變不需要重新加載整個(gè)頁面,web應(yīng)用更具響應(yīng)性和更令人著迷。
3、單頁應(yīng)用沒有頁面之間的切換,就不會(huì)出現(xiàn)“白屏現(xiàn)象”,也不會(huì)出現(xiàn)假死并有“閃爍”現(xiàn)象
4、單頁應(yīng)用相對(duì)服務(wù)器壓力小,服務(wù)器只用出數(shù)據(jù)就可以,不用管展示邏輯和頁面合成,吞吐能力會(huì)提高幾倍。
5、良好的前后端分離。后端不再負(fù)責(zé)模板渲染、輸出頁面工作,后端API通用化,即同一套后端程序代碼,不用修改就可以用于Web界面、手機(jī)、平板等多種客戶端。
單頁Web應(yīng)用的缺點(diǎn):
1、首次加載耗時(shí)比較多。
2、SEO問題,不利于百度,360等搜索引擎收錄。
3、容易造成CSS命名沖突。
4、前進(jìn)、后退、地址欄、書簽等,都需要程序進(jìn)行管理,頁面的復(fù)雜度很高,需要一定的技能水平和開發(fā)成本高。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。