现在用于网站上的 widgets 越来越多,越来越多人为了在他们的网站或 blog 上显示 Flickr photos、 Twitter status、 iTunes playlists 等而安转了这种第三方代码支持,这些日益增加的 widgets ,尽管当中大概只有 1% 是有用的,而这 1% 很好的改变完善整个互联网的格局。
不过随着 widgets 出现也带来了一个问题:使用 widgets 会降低你的网站速度。在比较好的情况下,你使用的 widgets 来自一个稳定快速的服务器;比较糟糕的是你使用的 widgets 来自一个不稳定的服务器,那对你的网站的影响就会很大。
国外的一位博客作者认为,在这方面没有银弹这一可能,没有一个单独的方法或者技术能解决这个问题。这是一个联系到多方面的问题,公司可以通过一些方法来缓和多个Widget在一起带来的影响,但是数量到一定程度,问题总会发生的。下面有一些方面值得javascript提供商应考虑:
1 延迟JavaScript的执行
所有的JavaScript代码都希望第一时间去运行,但是实际上不行,这是一个很常见的问题。如果脚本不需要在页面读取是做任何改变,那么脚本执行可以放到页面读取完成之后。这样一来,页面内容就可以先显示出来。很不幸,不是说有的游览器都这么做。
2.减少运行的负载
任何东西在页面读取时运行都会减慢速度,所以越少代码速度越快。另外一个与此有关联的是整个页面的搜索,会导致整个页面读取缓慢。总体来讲,任何JavaScript程序运行超过5秒都会有问题。
3.负载平衡请求产生不同的URLs
现代很多脚本总是返回同样的URL。随着Widget广泛的应用,通过同一个服务器并发的请求将会非常巨大。一个比较好的方法就是分发不同的 URLs。尽管现在不同的URLs可以执行同一个域名,但是未来会是一个发放来分散浏览压力。
4.使用标准库
可能最差劲的事情就是什么都从头来过,因为JavaScript特别容易导致错误。和Java那样,JavaScript设置很多标准的库,有了标准可能会更加有效。原有的库都是一些了解系统缺陷的有经验人士写的,所以最好还是直接使用。
5.更重要一点,多去思考
知道有一些JavaScript将会在最终用户的网站上运行是很重要的,要知道我们只是庞大的系统的一部分,开发正在此能够降低破坏其他Widgt的可能,也能保证用户体验的质量。