为什么苹果官网的首页引用了很多的 JavaScript 文件?对用户的访问速度有影响吗
时间:2023-10-30 18:06:02 | 来源:网站运营
时间:2023-10-30 18:06:02 来源:网站运营
为什么苹果官网的首页引用了很多的 JavaScript 文件?对用户的访问速度有影响吗?: (我可能之前没理解错问题:楼主是强调引用还是强调太多? 如果引用,那么的确我觉得把用到的js压缩和合并起来,就像gmail, gmap 或者
http://fb.com的首页那样。这几乎是任何一个专业网站都会做的事情。)
1.现在用户浏览器的渲染越来越快,特别是JS的engine速度也得到了成倍地增长,所以那些JS我觉得对于桌面的浏览器来说不是很大的负担:(实际上,现在chrome的能力已经非常强大,比如这些web app:
http://www.chromeexperiments.com/webgl。大部分都比
http://apple.com首页要消耗资源得多)
http://Apple.com顶多再对mobile优化一下,就没太大问题;但是我在中国的时候发现出国的网络比较悲剧,访问国外都很慢。
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一向比较清高,经常不屑于借用别人的代码。这次,单单这两个JS文件,代码量就逼近1万行。
4.很多时候,对于大型网站,这个量级的网页代码常常不可避免。如果你查看一下
http://maps.google.com,
http://gmail.com或者
http://facebook.com,他们的JS或者其他HTML内容要也很恐怖。(Google网页里的JS一般用GWT直接生成,FB的有自己的JS压缩工具,所以那些JS都不是给人看的)
5.JS是前端的语言,在浏览器上面跑,跟服务器和CDN没太大关系,所有JS加起来顶到几十或者几百k,比起
http://apple.com上面的那些图片小太多,CDN在这里不发挥什么作用。
附:
CDN=Content Distributed Network。就是网页内容分布到很多server,然后用户每次可以从距离最近的server访问网页[这样速度也最快][一般通过DNS来判断]。大部分公司直接用第三方的CDN,比如Akamai。一般来说,只有bandwidth sensitive同时更新不太频繁的内容才放到CDN上面,比如一些图片或者视频。说来惭愧,我懂得这个还是在CMU master的课上,于是这才意识到国内外教育的差据。国内的中文书籍喜欢从所谓的专业术语把东西讲复杂,简单的道理用拗口的词语越说越让人糊涂。当年的课后作业,教授还给了我们几个网站,让我们去研究网页的源代码,让我们分析里面html的一些奇怪tag或者一些奇怪的link。同时,我刚才也去Facebook上面看了一下,用户的头像图片就是存在Akamai的CDN上面,比如:我的profile上的头像,地址这个:
https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/48995_556923433_2563245_n.jpg,从域名可见一斑。同时我们教授还讲解了CDN上面内容如何于主server保持同步和如何快速更新的问题。