75秒赛车|75秒赛车|75秒极速赛车|75秒赛车

2019-03-20 11:20:47分類浚︰Web應用開發1403

  對于Web開發者而言杏入,除了具擁有精湛的開發技術外抨川小,還應具備一些軟技能吳疤錳。而針對富Web應用復渡沮,開發者應該注意哪些要點呢?小編認為如何讓用戶以最快的時間獲得想要的數據尤為重要嚷,開發者應注重以下七大原則醛蠕。

  網絡上有關Web開發未來的熱門討論有很多椿釁石,比如鴕鮑︰JavaScript能否替代實現諸如歷史記錄躲愧、網頁瀏覽垢、頁面渲染等瀏覽器功能?開發者應該放棄後端封很犢,直接進行HTML渲染嗎?單頁面應用會流行起來嗎?

  要解答上述問題椿,我會嘗試以JavaScript為突破口酚鍛,從用戶體驗方面進行考慮;如何能讓用戶以最快的時間獲得想要的數據是我最為看重的私。
 

Web應用開發
 

  1甲、服務器渲染是必須的

  目前有個比較錯誤的分立觀點南︰“服務器渲染與單頁面應用的對立抄。”如果我們真的想最大程度地提升用戶體驗和性能末開標,把這兩者區別對待芭侶方、互為排斥都不是好的解決方法嗜供頰。

  首先頑勿簿,當進行頁面傳送時泵柒,互聯網連接本身有個理論速度限制度。地理位置上兩點間的傳輸速度受到地域核、帶寬謎謂公、路由等因素影響;減少兩點之間往返的通訊次數顯得尤為關鍵鱉班。一個足夠靈活的系統應當能夠均衡好瀏覽器端和服務器端的代碼渲染工作牢,減少網站和網絡應用之間的差別嗣渡。

  2鄙、即時響應用戶輸入

  當用戶訪問某個網站時瞧璃,每個交互動作都應該盡量做到少延遲競加裸、快響應匪訴權。

  在HTML中文檔的連接是透過超鏈或標簽完成的隸堂社。當點擊這些鏈接時途,瀏覽器會發送一個請求芳骯怒,這個請求被接收和響應前的用時是無法確定的廣參梆。相反溫,JavaScript能夠針對用戶輸入做出即時的響應儈。例如谷歌或百度面褪綿,現在我們在其首頁進行輸入時賈然貝,不用點擊搜索或確定蒜,瀏覽器會自動進入搜索結果頁面;還有就是智能提醒鉑倉瓦,邊輸入邊提醒的功能也是非常人性化的貪茸。

  3際妒、響應數據/狀態變更

  現在無論是采用傳統的頁面刷新還是AJAX交互來對靜態頁面執行更新都顯得稍稍落伍了廬鞏迫。目前更好的做法是自行更新(self-updating)累炮唯。

  如果有款應用同時打開了多個標簽/頁面頌,如果用戶進行了登出操作青渭拭,所有已打開的標簽都應該能同時失效天響楔。要想做到類似的自行更新犀怠假,狀態協調(state reconciliation)是需要多加考慮的雹莽。在只是更新少量數據的參合缽痘,我們往往很容易忽略了長時間連接中斷後該如何讓程序作出正確響應統詳功。比方說休眠電腦數天後再打開巢溺,我們的程序該如何對這個狀態(如機器狀態標識碼)進行處理呢?如果我們想在初始頁面傳送數據交杉,在客戶端腳本裝載前必須確保數據是可訪問的絹儈。一旦發生連接中斷盛,腳本建立的初始連接必須能夠進行會話恢復聞逃額。
 

Web應用開發
 

  4形腹獨、控制與服務器的數據交換

  在萬維網中考,客戶端和服務器端的數據交換一般限于已下幾種形式杭︰

  點擊連接孫,GET獲取了新的頁面橫,然後渲染這個頁面;

  通過POST或GET提交表單時經廉,然後渲染新頁面;

  異步裝入一個圖像或對象額琶,然後渲染它垢。

  其中唾,上述第二種方式最容易出問題沮。從性能角度來看垃爍,不斷觸發新頁面來發送數據是個效率極差的做法簧蹲。

  現在網絡上有豐富的APIs(如XMLHttpRequest,EventSource)不但能幫助我們很好地控制數據流向門喉穢,同時能幫助增強用戶體驗默楓顆,如表單的填寫莢紊、發送礎雞桶。

  如前述的狀態協調駛沮罕,如果程序檢測到連接中斷後氨,把數據暫存起來將能幫助日後的會話恢復桅。服務工作器(Serviceworker)的引入在這時就變得非常重要了測腸。它能夠讓JavaScript Web應用在後台運行肩虐唾。即使程序沒有開啟腹,我們仍然能夠在後台同步用戶數據赦脫跺。

  5叼多、增強歷史記錄處理

  一般來說境碌,頁面狀態的過渡依賴于URL的變更;這給我們帶來了增強歷史記錄管控的機會略。

  例如崔,我們通過手機應用查看商品時講,發現了心儀物品拜驢媒,一般情況下如果這時候進行購物車操作都會中止當前界面的訪問;購物完畢後點擊返回關闖,如果先前已經翻看了很多頁並滾動到某個位置飛,如果這時能根據歷史記錄準確地返回之前的位置屎,用戶會對此非常贊賞的奸。再譬如韓鷗,我們填寫了某個表單途昏漸,如果發送失敗裸冒,點擊返回後能自動幫助用戶把已經填好的數據進行恢復文白,這也是能極大增強用戶體驗的寂。

  6便澀此、推進代碼變更

  如果程序的代碼發生變更德盡縴,采用什麼方法來使客戶端對此做出正確響應是很重要的股冠。

  一個好的代碼更新推送機制是如果發現有新的版本鯨渦,能夠及時提醒客戶端對此進行選擇處理扁。又或者是在HTTP請求的頭部信息中附加版本號信息丹膝,讓服務器針對版本號作出正確處理克。

  更好的一個處理方法是進行熱代碼重載(hot code reloading)實貿。它的意思是不需要對整個頁面進行刷新手防首,而只是對變更關聯部分或模塊進行在線更新贛暴競。這需要對全局影響進行全面評估廬,防止部分模塊更新後出現其它異常梨警俯。

  7傅、預先感知

  一個豐富的JavaScript應用能夠有效識別用戶輸入並做出預感反饋嗜。

  典型的例子是當鼠標懸停在某個鏈接時才滑柬,服務器已經開始著手準備數據摧,這將極大地減少渲染新頁面用時暑沫賜。還有就是能針對鼠標動作做出交互反攬饋,如移動桓壞沖,踫撞孺,移出/入等浦獎。

上一篇興敗︰下一篇猩皆蹭︰無
澳洲快樂8 澳洲快樂8開獎 澳洲快樂8開獎結果 澳洲快樂8官方網站 澳洲快樂8官網 澳洲快樂8網站 澳洲快樂8計劃 澳洲快樂8 澳洲快樂8 澳洲時時彩 澳洲時時彩 澳洲時時彩開獎 澳洲時時彩開獎結果 澳洲時時彩官方網站 澳洲時時彩官網 澳洲時時彩網站 澳洲時時彩計劃 澳洲時時彩 澳洲pk10 澳洲pk10 澳洲pk10開獎 澳洲pk10開獎結果 澳洲pk10官方網站 澳洲pk10官網 澳洲pk10網站 澳洲pk10計劃 澳洲pk10 澳洲幸運5 澳洲幸運5開獎 澳洲幸運5開獎結果 澳洲幸運5官方網站 澳洲幸運5官網 澳洲幸運5網站 澳洲幸運5計劃 澳洲幸運5 澳洲幸運5 澳洲快三 澳洲快三開獎 澳洲快三開獎結果 澳洲快三官方網站 澳洲快三官網 澳洲快三網站