單頁web應用是什么?它又會給傳統網站帶來哪些好處?

原文鏈接:http://blog.csdn.net/zuoninger/article/details/38842823

點擊閱讀原文

----------------------------------------------------

什么是單頁應用?

單頁應用是指在瀏覽器中運行的應用,它們在使用期間不會重新加載頁面。像所有的應用一樣,它旨在幫助用戶完成任務,比如“編寫文檔”或者“管理Web服務器”。可以認為單頁應用是一種從Web服務器加載的富客戶端。

單頁應用給傳統網站帶來的好處?

相對于傳統網站,我們認為單頁應用的主要好處是:


  • 它提供了更加吸引人的用戶體驗。單頁應用可以做到一舉兩得:桌面應用的即時性和網站的可移植性和可訪問性。
  • 單頁應用可以和桌面應用一樣渲染。
  • 單頁應用只需要重繪界面上需要變化的部分。相比之下的傳統網站,許多用戶操作都會重繪整張頁面,結果是當瀏覽器從服務器獲取數據時,頁面會假死并有“閃爍”現象,然后再重繪頁面上的所有東西。如果頁面很大,服務器又繁忙,或者網絡連接很慢,這種“閃爍”現象會持續好幾秒鐘甚至是更長時間,用戶只得猜測頁面什么時候才可以再次使用。與單頁應用的快速渲染和即時反饋相比,這是一種很恐怖的體驗。

  • 單頁應用可以擁有和桌面應用一樣的響應速度—盡可能地把(臨時的)工作數據和處理過程從服務端轉移到瀏覽器端,單頁應用由此把響應時間減至最小。
  • 單頁應用在本地擁有大多數需要決策判斷的數據和業務邏輯,因此是很快的。只有數據驗證、授權和持久存儲必須要放在服務端。傳統網站的大多數應用邏輯在服務端,對大部分的用戶輸入的響應,他們必須等待一個“請求/響應/重繪”的循環周期。與接近即時響應的單頁應用相比,這需要花費幾秒鐘的時間。

  • 單頁應用可以和桌面應用一樣,把它的狀態通知給用戶—當單頁應用確實必須等待服務器的響應時,可以動態地顯示進度條或者繁忙指示器,因此用戶不會因延時而困惑。相比傳統的網站,用戶實際上只能猜測頁面何時加載完并可用。

  • 單頁應用像網絡一樣,幾乎隨處可以訪問—不像大多數的桌面應用,用戶可以通過任務網絡連接和適當的瀏覽器訪問單頁應用。如今,這一名單包括智能手機、平板電腦、電視、筆記本電腦和臺式計算機。

  • 單頁應用可以像網站一樣即時地更新和發布—用戶不需要做任何事就能明白它的好處:他們只要重新加載瀏覽器就行了。維護軟件的多個并存版本的麻煩在很大程度上消除了。開發單頁應用的作者,在一天之內就能構建和更新很多次。桌面應用經常需要下載并且安裝新版本需要管理訪問權限,版本之間的間隔可能是很多個月或者很多年。

  • 單頁應用和網站一樣,是跨平臺的—和大多數的桌面應用不一樣,精心編寫的單頁應用可以在提供現代HTML5瀏覽器的任意操作系統上運行。盡管這通常被認為是對開發人員的好處,但對很多同時使用多種設備的用戶來說是非常有用的,比如工作時用Windows,在家用Mac,Linux服務器,Android手機和Amazon平板電腦。
  • 所有這些好處意味著,你可能會想把下個應用做成單頁應用。每次點擊后都會重新渲染整張頁面的笨拙網站,容易日益疏遠富有經驗的用戶。精心編寫的單頁應用具有互動和快速響應的界面,還伴有訪問網絡的功能,這將幫助我們把客戶留在屬于他們的地方:使用我們的產品。

關于單頁Web應用

單頁Web應用(single page web application,SPA)無疑是目前網站開發技術的弄潮兒,很多傳統網站都在或者已經轉型為單頁Web應用,新的單頁Web應用網站(包括移動平臺上的)也如雨后春筍般涌現在人們的面前,如Gmail、Evernote、Trello等。如果你是一名Web開發人員,卻還沒開發過或者甚至是沒有聽說過單頁應用,那你已經Out很久了。


單頁Web應用和前端工程師們息息相關,因為主要的變革發生在瀏覽器端,用到的技術其實還是HTML+CSS+JavaScript,所有的瀏覽器都原生支持,當然有的瀏覽器因為具備一些高級特性,從而使得單頁Web應用的用戶體驗更上一層樓。關于單頁應用的優點和缺點,網上講解的文章有很多,這里就不展開論述了。 單頁Web應用,顧名思義,就是只有一張Web頁面的應用。瀏覽器一開始會加載必需的HTML、CSS和JavaScript,之后所有的操作都在這張頁面上完成,這一切都由JavaScript來控制。因此,單頁Web應用會包含大量的JavaScript代碼,復雜度可想而知,模塊化開發和設計的重要性不言而喻。


-------------

更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,教程,視頻請訪問:

http://www.cnblogs.com/zengmiaogen/p/7083694.html



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538502.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538502.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538502.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python圖像等比例壓縮_python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼

PIL中設計的幾個基本概念1.通道(bands):即使圖像的波段數,RGB圖像,灰度圖像以RGB圖像為例:>>>from PIL import Image>>>im Image.open(*.jpg) # 打開一張RGB圖像>>>im_bands im.getbands() # 獲取RG…

python的urllib四大模塊_Python常用的內建模塊4:urllib

urllib提供了一系列用于操作URL的功能Geturllib的request模塊可以非常方便的抓取URL的內容, 也就是發送一個GET請求到制定的頁面, 然后返回HTTP的響應:例如, 對豆瓣的一個URLhttps://api.douban.com/v2/book/2129650進行抓取, 并返回響應:from urllib import requestwith reque…

Linux 升級 Python 至 3.x

原文鏈接:http://blog.csdn.net/liang19890820/article/details/51079633 -------------------------------------------- 簡述 CentOS 7 中默認安裝了 Python,版本比較低(2.7.5),為了使用新版 3.x,需要對…

Sublime Text 3 配置python交互運行環境的快捷鍵

2019獨角獸企業重金招聘Python工程師標準>>> 使用Sublime Text 3能以輕量級的環境寫python腳本,運行python代碼。為了更加方便地調用python腳本,通過在Sublime Text 3中綁定快捷鍵的方式,實現一鍵調用python交互運行環境&#xff…

xftp如何搜索文件_頭條搜索站長平臺如何添加網站和sitemap文件?附圖文教程

頭條搜索站長平臺已經上線了,目前我們廣大站長都可以登錄該平臺后添加新網站和提交 sitemap 地圖文件,建議大家可以前往嘗試一下,多一個搜索平臺就多一條路,認為倒是挺好的。下面就跟大家簡單介紹頭條搜索站長平臺如何添加網站和提…

Angular4中常用管道

原文鏈接:http://blog.csdn.net/haijing1995/article/details/71404350 ----------------------------------------------------- Angular4中常用管道 通常我們需要使用管道實現對數據的格式化,Angular4中的管道和之前有了一些變化,下面說一…

mysql死鎖無法查詢_MySQL死鎖導致無法查詢

客服反饋后臺無法查詢,原因大概知道,是因為MySQL的事務產生了死鎖,以往都不知道是哪個事務鎖住了,只能很粗暴地重啟MySQL最近查找到一個方法,不用重啟MySQL,記錄如下登錄到MySQL,來看下有哪些My…

彩鉛練習,花船

圖片發自簡書App圖片發自簡書App

python 百度ocr識別_Python使用百度Ocr識別文字保存CSV

1.準備:1)Python開發環境, 筆者用的是3.7; 工具用的是Pycharm2)百度云后臺創建文字識別的應用, 獲取AppID, API key, Secret Key百度云后臺創建文字識別的應用3) 百度模塊pip install baidu-aip安裝百度模塊4) 要保存成csv需要用到pandas模塊pip Install pandas安裝…

chrome解決跨域(CORS)問題---chrome插件

1、chrome瀏覽器 chrome中跨域問題,可以安裝插件解決, 插件地址 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi 地址需要翻墻 翻墻hosts:https://laod.cn/hosts/2017-google-host…

我的女朋友漏電了–論C++中的失敗(failure),缺陷(bug)和異常(exception)

先做個廣告置入,如果喜歡這篇文章,你可以到 zhaoyan.website/blog 去查看于此類似的C/C文章。 我承認有點標題黨了,不過這真的是一篇寫軟件的文章,所以如果你已經抽出了一張面巾紙,那么趁早再把它完美的放回去。這篇軟…

SQLplus 和mysql區別_mysql和oracle的區別有哪些

MySQL和Oracle都是流行的關系數據庫管理系統(RDBMS),在世界各地廣泛使用;大多數數據庫以類似的方式工作,但MySQL和Oracle的這里和那里總是存在一些差異的。本篇文章就給大家比較Oracle和MySQL,介紹Oracle和MySQL之間的區別&#x…

127.0.0.1與localhost的區別

2019獨角獸企業重金招聘Python工程師標準>>> 區別1: localhost也叫local ,正確的解釋是:本地服務器 127.0.0.1在windows等系統的正確解釋是:本機地址(本機服務器) 他們的解析通過本機的host文件,windows自動將localhost解析為127.…

一個項目經理的貪嗔癡

我有時候在想,自己到底是一個什么角色?產品經理?還是一個項目經理?或者只是一個技術經理。 身邊一些朋友說,自己想轉行做一個產品經理,做一個偉大的產品。我奉勸他們說還是省省吧,在這樣一個二三…

mysql 索引_MySQL之索引

索引查找算法BTREEBTREE查找算法演變B-TREE :普通 BTREE,平衡多路查找樹(B-Tree)BTREE :葉子節點雙向指針BTREE(B*TREE):枝節點的雙向指針普通B-TREE增強版BTREE(B*TREE)總結:從上圖看出,在BTree上有兩個頭…

2010年寒假學習心得

本人的博客園博客:http://www.cnblogs.com/zengmiaogen 博客園是我早期發表的博文。 ------------------------------------------ 1、心態要好,要相信自己能完成,不要擔心自己完成不了,萬事開頭難,有挫折是正常的。…

利用5w1h寫出高效的git commit

創建git commit 模板 創建模板 在個人目錄下, 創建 .gitmessage vi .gitmessage 復制代碼并輸入以下信息 Who: Demand maker*When: versions affected*What:The content of the code changes* descrption: * wiki/task:Why:The reason*How:Influence of change* 復制…

python高維數據_t-SNE高維數據可視化(python)

t-SNE實踐——sklearn教程t-SNE是一種集降維與可視化于一體的技術,它是基于SNE可視化的改進,解決了SNE在可視化后樣本分布擁擠、邊界不明顯的特點,是目前最好的降維可視化手段。關于t-SNE的歷史和原理詳見從SNE到t-SNE再到LargeVis。代碼見下…

java數學計算表達式_Java初學者:內建函數計算簡單的數學表達式

這個應該在之前寫的,忘記了,補上這次我們說一下如何用java計算數學表達式的值,比如,我們要計算sin(pi/3) cos(pi/6) 5.6^3,怎么計算呢?這里我們需要用到java的math的內建函數,所謂內建函數&am…

你是怎樣的程序員?

一、程序員A 一個善于總結、能舉一反三,敢于承擔責任,敢于挑戰自我,擁抱新技術的程序員,他的年齡意味著豐富經驗,意味著效率。 他能指出并帶人繞過一個一個技術大坑,笑看風云而不掉進去; 他能指…