為什么蘋果官網(wǎng)的首頁引用了很多的 JavaScript 文件?對用戶的訪問速度有影響嗎
時間:2023-10-30 18:06:02 | 來源:網(wǎng)站運(yùn)營
時間:2023-10-30 18:06:02 來源:網(wǎng)站運(yùn)營
為什么蘋果官網(wǎng)的首頁引用了很多的 JavaScript 文件?對用戶的訪問速度有影響嗎?: (我可能之前沒理解錯問題:樓主是強(qiáng)調(diào)引用還是強(qiáng)調(diào)太多? 如果引用,那么的確我覺得把用到的js壓縮和合并起來,就像gmail, gmap 或者
http://fb.com的首頁那樣。這幾乎是任何一個專業(yè)網(wǎng)站都會做的事情。)
1.現(xiàn)在用戶瀏覽器的渲染越來越快,特別是JS的engine速度也得到了成倍地增長,所以那些JS我覺得對于桌面的瀏覽器來說不是很大的負(fù)擔(dān):(實(shí)際上,現(xiàn)在chrome的能力已經(jīng)非常強(qiáng)大,比如這些web app:
http://www.chromeexperiments.com/webgl。大部分都比
http://apple.com首頁要消耗資源得多)
http://Apple.com頂多再對mobile優(yōu)化一下,就沒太大問題;但是我在中國的時候發(fā)現(xiàn)出國的網(wǎng)絡(luò)比較悲劇,訪問國外都很慢。
2.我剛才臨時看了下它代碼,引用的JS并不算多吧:
http://images.apple.com/global/scripts/lib/prototype.js" type="text/javascript" charset="utf-8" >
http://images.apple.com/global/scripts/lib/scriptaculous.js" type="text/javascript" charset="utf-8" >
http://images.apple.com/global/scripts/browserdetect.js" type="text/javascript" charset="utf-8" >
http://images.apple.com/global/scripts/apple_core.js" type="text/javascript" charset="utf-8" >
http://images.apple.com/global/scripts/search_decorator.js" type="text/javascript" charset="utf-8" >
http://images.apple.com/global/scripts/promomanager.js" >
http://images.apple.com/v/home/c/scripts/ticker.js" type="text/javascript" charset="utf-8" >
http://images.apple.com/v/home/c/scripts/promotracker.js" type="text/javascript" charset="utf-8" >
http://images.apple.com/v/home/c/scripts/promos.js" type="text/javascript" charset="utf-8" >
10個文件? 還好。我平時有做的mobile上面的webapp都比這個js要量大。
3.有趣的是,第一個js文件protoytpe.js沒有被壓縮過,代碼還是格式化好的,第二個直接是用著名的
http://script.aculo.us,我之前孤陋寡聞,還真不知道。在我印象中,apple一向比較清高,經(jīng)常不屑于借用別人的代碼。這次,單單這兩個JS文件,代碼量就逼近1萬行。
4.很多時候,對于大型網(wǎng)站,這個量級的網(wǎng)頁代碼常常不可避免。如果你查看一下
http://maps.google.com,
http://gmail.com或者
http://facebook.com,他們的JS或者其他HTML內(nèi)容要也很恐怖。(Google網(wǎng)頁里的JS一般用GWT直接生成,F(xiàn)B的有自己的JS壓縮工具,所以那些JS都不是給人看的)
5.JS是前端的語言,在瀏覽器上面跑,跟服務(wù)器和CDN沒太大關(guān)系,所有JS加起來頂?shù)綆资蛘邘装賙,比起
http://apple.com上面的那些圖片小太多,CDN在這里不發(fā)揮什么作用。
附:
CDN=Content Distributed Network。就是網(wǎng)頁內(nèi)容分布到很多server,然后用戶每次可以從距離最近的server訪問網(wǎng)頁[這樣速度也最快][一般通過DNS來判斷]。大部分公司直接用第三方的CDN,比如Akamai。一般來說,只有bandwidth sensitive同時更新不太頻繁的內(nèi)容才放到CDN上面,比如一些圖片或者視頻。說來慚愧,我懂得這個還是在CMU master的課上,于是這才意識到國內(nèi)外教育的差據(jù)。國內(nèi)的中文書籍喜歡從所謂的專業(yè)術(shù)語把東西講復(fù)雜,簡單的道理用拗口的詞語越說越讓人糊涂。當(dāng)年的課后作業(yè),教授還給了我們幾個網(wǎng)站,讓我們?nèi)パ芯烤W(wǎng)頁的源代碼,讓我們分析里面html的一些奇怪tag或者一些奇怪的link。同時,我剛才也去Facebook上面看了一下,用戶的頭像圖片就是存在Akamai的CDN上面,比如:我的profile上的頭像,地址這個:
https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/48995_556923433_2563245_n.jpg,從域名可見一斑。同時我們教授還講解了CDN上面內(nèi)容如何于主server保持同步和如何快速更新的問題。
關(guān)鍵詞:用戶,文件,訪問,影響,速度,蘋果,引用