自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Web性能之戰(zhàn)打響 開發(fā)者面臨復(fù)雜度挑戰(zhàn)

原創(chuàng)
開發(fā) 前端 新聞
盡管瀏覽器的速度得到了大幅度改進(jìn),但網(wǎng)絡(luò)的瓶頸和腳本問題依然困擾著基于云計(jì)算的網(wǎng)絡(luò)應(yīng)用。

【51CTO.com快譯自7月7日外電頭條】Firefox 3.5已經(jīng)到來,51CTO.com之前曾報道FireFox 3.5將比3.0版快兩倍,據(jù)Mozilla基金會說,它的主要優(yōu)點(diǎn)是速度飛快。新版本的Firefox開源瀏覽器第一次全面使用了TraceMonkey引擎為JavaScript加速,而這以前僅在3.1的測試版中出現(xiàn)過。

這一行動是Mozilla在近來的瀏覽器大戰(zhàn)中使出的最新殺手锏,這同時也表明了瀏覽器廠商們已經(jīng)開始轉(zhuǎn)而注重Web應(yīng)用的性能改善。51CTO.com之前曾報道過Google專家的觀點(diǎn),JavaScript是網(wǎng)站性能的致命克星;根據(jù)Google研究小組的報告,互聯(lián)網(wǎng)上,速度最重要!Google已經(jīng)在去年給Chrome安裝了高性能的JavaScript引擎,而隨后Opera和蘋果也相繼宣布為各自的瀏覽器推出新的JavaScript引擎,微軟也在費(fèi)力的對IE8進(jìn)行著優(yōu)化。

但瀏覽器的單方面表現(xiàn)并不能代表一切。上周流行天王邁克爾杰克遜的突然死訊讓幾乎所有的主要新聞網(wǎng)站的訪客們感受到了延遲,但問題既不是出在瀏覽器,也不是出在超負(fù)荷的服務(wù)器身上。根據(jù)網(wǎng)絡(luò)監(jiān)控機(jī)構(gòu)Keynote Systems的分析,在許多情況下,網(wǎng)站速度減慢的主要原因是廣告網(wǎng)絡(luò)和第三方內(nèi)容提供商的問題,他們自身的網(wǎng)絡(luò)無法處理突然增加的流量。

這一事件正巧顯示了Web開發(fā)者們越來越關(guān)注的一個問題。如今的Web應(yīng)用通常會整合來自多個來源的內(nèi)容、數(shù)據(jù)存儲和服務(wù),而且對云計(jì)算越來越大的興趣只會加速這種趨勢??紤]到這些交錯在一起的因素,Web開發(fā)者可以真的保證快速敏感的用戶體驗(yàn)嗎?或者說隨著Web應(yīng)用的元素越來越錯綜復(fù)雜,我們會不會逐漸對應(yīng)用的性能變得不在意,把問題扔給互聯(lián)網(wǎng)來解決?

Web開發(fā)者受到的云困擾

制作網(wǎng)頁很容易,但建立高效的Web應(yīng)用卻難得多。對開發(fā)者來說,開發(fā)桌面端軟件是更好掌控的工作。你可以通過消滅內(nèi)存泄漏和提高磁盤訪問效率來優(yōu)化它的性能。但這一切都不適用于Web應(yīng)用,這時開發(fā)者必須依靠瀏覽器來處理本地資源的效率。

在Web應(yīng)用中,開發(fā)者面臨著變幻莫測的網(wǎng)絡(luò)情況。如果用戶訪問的網(wǎng)頁需要從第三方供應(yīng)商那里讀取圖像,那么總體的用戶體驗(yàn)就要取決于用戶的瀏覽器、用戶的數(shù)據(jù)連接方式、Web服務(wù)器的輸出管道、Web應(yīng)用軟件、網(wǎng)絡(luò)服務(wù)器和圖片提供商之間的管道,還有圖像提供商的服務(wù)器軟件等等。一位Web應(yīng)用開發(fā)者通常只負(fù)責(zé)優(yōu)化這其中的一個方面。

這是因?yàn)樵谶@樣的基于云計(jì)算的分布式模式中,他們認(rèn)為理所當(dāng)然會有別的開發(fā)者去考慮該他負(fù)責(zé)的問題。但是你怎么能肯定第三方圖像供應(yīng)商對安全性足夠認(rèn)真?怎么能確保他們的系統(tǒng)設(shè)置了足夠的冗余,有沒有定期備份,這樣才不會在出現(xiàn)意外時無計(jì)可施?

更為迫切的問題是外部服務(wù)是以什么方式與網(wǎng)頁進(jìn)行整合。它們大多依賴于外部JavaScript或iframe,或兩者兼有。這兩種技術(shù)都會擁堵網(wǎng)頁的onLoad事件,這是造成用戶瀏覽體驗(yàn)緩慢的一個主要因素。因?yàn)檫@個瓶頸是在JavaScript代碼執(zhí)行前發(fā)生的,所以瀏覽器JavaScript引擎速度的快慢解決不了太大問題。如果網(wǎng)絡(luò)本身的負(fù)擔(dān)就已經(jīng)過重,那么就不僅是第三方內(nèi)容的問題了,你的整個應(yīng)用都會受到影響。

更多關(guān)于云開發(fā)的報道請參考51CTO.com的策劃專題《SaaS時代的軟件開發(fā)》和之前的報道《云服務(wù)顛覆開發(fā)傳統(tǒng)觀念》。

復(fù)雜性的提高導(dǎo)致Web應(yīng)用風(fēng)險增加

Web社區(qū)正在努力尋找減輕這些問題的方法。例如,新一代的瀏覽器會在等待JavaScript執(zhí)行的同時裝載其他內(nèi)容的元素,開發(fā)者們找出各種聰明的技巧來消除腳本瓶頸問題。但是,這些單方面的優(yōu)化無法從根本上解決問題。

“考慮一下這個問題,”Google傳播者Steve Souter說,他也是“高性能網(wǎng)站”和“更快的網(wǎng)站”兩本書的作者,“我們有時會把一大塊的HTML,可能還包括CSS、JavaScript和Flash,一起塞到另一個網(wǎng)頁里……因此這造成網(wǎng)頁性能大幅度降低也并不奇怪,在某些情況下甚至還會導(dǎo)致整個網(wǎng)站癱瘓?!?/P>

部分原因在于這樣的整合內(nèi)容往往缺乏協(xié)調(diào)的管理和監(jiān)督。“將第三方內(nèi)容整合到網(wǎng)頁中本該是一個復(fù)雜的項(xiàng)目,在同一家公司里需要兩個團(tuán)隊(duì)協(xié)作完成,”Souter說?!氨热鐝V告,兩個團(tuán)隊(duì)需要負(fù)責(zé)兩個不同的公司。而事實(shí)上,設(shè)計(jì)廣告的開發(fā)者可能永遠(yuǎn)不會與主網(wǎng)站的建設(shè)團(tuán)隊(duì)進(jìn)行溝通?!?BR>但是這并不是說每個人都要去分擔(dān)網(wǎng)站變慢的責(zé)任。請放心,在網(wǎng)站變慢時,所有的訪問者都會責(zé)怪網(wǎng)站自身,而沒有人會去找外部內(nèi)容提供商的麻煩。

網(wǎng)絡(luò)一步步走向成熟的應(yīng)用平臺

就目前而言,Web應(yīng)用的開發(fā)者和架構(gòu)師們應(yīng)該多去了解一下那些潛在的瓶頸問題,還有那些分布式以及類似云計(jì)算的Web應(yīng)用的自身缺陷。多關(guān)注一些相關(guān)的書籍和消息,比如51CTO.com上月曾報道的Google面向Web開發(fā)者推出了一個網(wǎng)站,專門研究如何提升Web性能,怎樣提升JavaScript的性能;并向Web開發(fā)者發(fā)布了網(wǎng)頁加速工具Page Speed。

然而從長遠(yuǎn)來看,Web服務(wù)提供者和消費(fèi)者們需要共同努力,為今后基于云的互聯(lián)網(wǎng)應(yīng)用制定出標(biāo)準(zhǔn)的做法。互動廣告局(The Interactive Advertising Bureau)為了縮短載入時間已經(jīng)成立了一個工作組,為廣告提供商們提供最佳實(shí)踐。這是一個好的開始,但顯然還有很多工作要做。
Web社區(qū)的工作也至關(guān)重要,需要提高不僅僅是瀏覽器性能,還有Web開發(fā)團(tuán)隊(duì)跨機(jī)構(gòu)合作的能力。隨著網(wǎng)站和服務(wù)變得更加互聯(lián),我們必須拿出新的辦法來交流與合作,使分布式的跨網(wǎng)站開發(fā)工作可以進(jìn)行的更加流暢。只有這樣,基于云的新一代網(wǎng)絡(luò)才會蓬勃發(fā)展,成長為可靠的、一流的應(yīng)用開發(fā)平臺。

【推薦閱讀】

  1. Google專家:JavaScript是網(wǎng)站性能的致命克星
  2. Google面向開發(fā)者推出網(wǎng)頁加速工具Page Speed
  3. 緩存設(shè)計(jì)詳解:低成本的高性能Web應(yīng)用解決方案
  4. 高性能Web應(yīng)用的六個好習(xí)慣
  5. 視頻專題:大型網(wǎng)站架構(gòu)技術(shù)專家談

【51CTO.com譯稿,非經(jīng)授權(quán)請勿轉(zhuǎn)載。合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com,且不得修改原文內(nèi)容?!?

原文:For Web apps, performance remains an uphill battle       作者:Neil McAllister

責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2011-01-25 08:53:52

webOS

2015-03-30 11:06:12

AppleWatch開發(fā)Swift

2024-04-25 08:33:25

算法時間復(fù)雜度空間復(fù)雜度

2023-10-30 01:08:35

微信紅包高性能架構(gòu)

2009-06-24 14:01:34

Web開發(fā)者社區(qū)Google

2021-01-05 10:41:42

算法時間空間

2009-07-09 10:45:16

C#基本概念復(fù)雜度遞歸與接口

2011-05-10 08:26:26

百度Web App應(yīng)用

2015-09-23 10:27:25

2011-05-12 10:05:28

百度Web APP應(yīng)用

2018-12-18 10:11:37

軟件復(fù)雜度軟件系統(tǒng)軟件開發(fā)

2020-12-30 09:20:27

代碼

2015-10-13 09:43:43

復(fù)雜度核心

2019-12-24 09:46:00

Linux設(shè)置密碼

2022-08-16 09:04:23

代碼圈圈復(fù)雜度節(jié)點(diǎn)

2020-02-06 13:59:48

javascript算法復(fù)雜度

2025-02-26 07:52:46

2012-03-23 08:34:44

百度開發(fā)者大會

2011-12-30 11:15:50

Web

2016-01-08 10:28:44

技術(shù)棧SaaSIT管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號