每次在项目开发或维护中,总会听到抱怨,页面打开的速度真慢,系统要优化了,代码应该要重构了。就我个人而言,对于页面打开速度的缓慢我们可以质疑和调查,但轻易的说对系统进行优化,代码进行重构这个就有点太随意了。
对于成型的系统而言,尤其是多人合作的系统,对于重构和优化一定要慎重,就如同你将带领你的部队进入原始森林一般。
不过,这些是题外话,这里要讲的是在不进行大动作的情况下让页面的展现速度提高20%,就一般系统而言,这很容易做到。呵呵,至少我现在看到的系统都是这种情况。
这里讲到的技术不涉及到后台,不涉及到架构,仅仅是对页面前端的一些优化改良就能达到这种效果。是不是很难以置信?以前我也是不相信的。这里涉及到了页面开发和功能开发人员的技术和意识的问题。最重要的那一头在页面设计,哦不,准确的来说是页面设计和切割人员,他们在设计页面时如果没有考虑到页面展示效率的问题,然后到功能开发人员整合页面时他们一般是不会考虑效率问题的,而是直接套用页面。并且功能性开发人员一般对于页面优化的知识了解甚少,在增加页面效果功能时加入的代码更是没有效率可言的。如果页面和开发人员都能意识到页面效率的问题,那么对于系统的页面展示将是有很大的效率提升。
好了,废话不多说,对于页面中效率的提升不难,只要记住几个要点就能达到效果,至于更深层的页面优化就不多说,那是专业人士的工作。
- 你的javascript代码位置放的对吗?
对于js处理方式的不同将会明显摆影响到页面展现的速度。
我看到过的写法八成以上都是写在页面的最上方,头部中。可大家有没有想过,把js放到最下方的底部,那样会是什么效果?结果是,页面的功能不变,但展现速度变快的。这是为什么?原因是,js的加载是阻塞线程的,如果你的js加载过慢,比如要加载一用户需要花10秒才能加载完成的js,而你的js又是放在页面头部的,那么只有等到你的js加载完成才能加载余下的页面代码,也就是要让用户等下10几秒的空白页面才能看到别的内容。但是,如果你的js入在了底部,这样,用户在打开页面时会先出现内容,在用户浏览内容的同时,js在用户感觉不到的情况下继续下载。 - 你的js和css代码有处理过吗?
这个是很典型的问题。js和css代码中有大量的空格,进行精简压缩和体积和之前的体积将会有20~50%的差距。而文件体积又是实实在在的影响着页面下载和打开的效率。
这个没什么好说的,大家可以打开自己正在开发或已经开发完成的项目,里面的js和css代码有多少是经过了精简和压缩的。