单页应用SPA的优缺点
單頁(yè)應(yīng)用的優(yōu)缺點(diǎn)
-
1.優(yōu)點(diǎn)
而單頁(yè)應(yīng)用則是一次性把web應(yīng)用的所有代碼(HTML,JavaScript和CSS)全部請(qǐng)求過(guò)來(lái),有時(shí)候考慮到首屏加載太慢會(huì)按需加載。這樣一來(lái),以后用戶的每一個(gè)動(dòng)作都不會(huì)重新加載頁(yè)面(即不用再問(wèn)服務(wù)器要頁(yè)面的HTML,css和js代碼),取而代之的是利用 JavaScript 動(dòng)態(tài)的變換HTML的內(nèi)容(這不需要和服務(wù)器交互,除非數(shù)據(jù)是動(dòng)態(tài),那么只需要問(wèn)服務(wù)器要數(shù)據(jù)即可)。 -
單頁(yè)應(yīng)用優(yōu)點(diǎn)的小小總結(jié):
-
1.分離前后端關(guān)注點(diǎn),前端負(fù)責(zé)界面顯示,后端負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和計(jì)算,減輕服務(wù)器壓力,服務(wù)器只用出數(shù)據(jù)就可以,而且不會(huì)把前后端的邏輯混雜在一起;
-
2.API共享,后端API通用化,服務(wù)如果是多端的(瀏覽器端、Android、iOS、微信等),單頁(yè)應(yīng)用的模式便于你在多個(gè)端共用 API,可以顯著減少服務(wù)端的工作量;
-
3.用戶體驗(yàn)好、快,內(nèi)容的改變不需要重新加載,提升了用戶體驗(yàn);
-
4.前端組件化,前端開(kāi)發(fā)不再以頁(yè)面為單位,更多地采用組件化的思想,代碼結(jié)構(gòu)和組織方式更加規(guī)范化,便于修改和調(diào)整。
2.缺點(diǎn)
單頁(yè)應(yīng)用缺點(diǎn)的小小總結(jié):
1.首次加載耗時(shí)較多,需加載大量的資源
2.導(dǎo)航不可用,由于單頁(yè)Web應(yīng)用在一個(gè)頁(yè)面中顯示所有的內(nèi)容,所以不能使用瀏覽器的前進(jìn)后退功能
3.對(duì)搜索引擎(SEO)不友好
原因:單頁(yè)應(yīng)用實(shí)際是把視圖(View)渲染從Server交給瀏覽器,Server只提供JSON格式數(shù)據(jù),視圖和內(nèi)容都是通過(guò)本地JavaScript來(lái)組織和渲染。而搜索搜索引擎抓取的內(nèi)容,需要有完整的HTML和內(nèi)容(搜索引擎只認(rèn)識(shí)html里的內(nèi)容,不認(rèn)識(shí)js的內(nèi)容)單頁(yè)應(yīng)用架構(gòu)的站點(diǎn),并不能很好的支持搜索,會(huì)導(dǎo)致單頁(yè)應(yīng)用做出來(lái)的網(wǎng)頁(yè)在百度和谷歌上的排名差。
總結(jié)
以上是生活随笔為你收集整理的单页应用SPA的优缺点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微信扫二维码调用外部浏览器打开指定页面
- 下一篇: 核心交换机和普通交换机有何区别?