Page 160 - Web性能权威指南
P. 160

最后,Web 应用把网页的简单依赖关系(在标签中使用媒体作为基本内容的补充)
                 转换成了复杂的依赖关系:标记定义结构、样式表定义布局,而脚本构建最终的交
                 互式应用,响应用户输入,并在交互期间创建样式表和标记。

                 结果,页面加载时间,这个一直以来衡量 Web 性能的事实标准,作为一个性能基础
                 也越来越显得不够了。我们不再是构建网页,而是在构建一个动态、交互的 Web 应
                 用。除了测量每个资源及整个页面的加载时间(PLT),还要回答有关应用的如下几
                 个问题:

                 •   应用加载过程中的里程碑是什么?
                 •   用户第一次交互的时机何在?
                 •   什么交互应该吸引用户参与?
                 •   每个用户的参与及转化率如何?

                 性能好坏及优化策略成功与否,与你定义应用的特定基准和条件,并反复测试的效
                 果直接相关。没有什么比得上应用特定的知识和测量,在关系到赢利目标和商业指
                 标的情况下更是如此。


                                      DOM、CSSOM 和 JavaScript

                   前所说的“脚本、样式表和标记文档之间复杂依赖”到底指什么呢?要回答这个
                   问题,我们得先回顾一下浏览器架构,了解一下解析、布局和脚本如何相互配合
                   在屏幕上绘制出像素来(图 10-1)。







                                                    ៺කຏ            քਆ            ࣼ዆







                   图 10-1:浏览器处理流水线:HTML、CSS 和 JavaScript

                   浏览器在解析 HTML 文档的基础上构建 DOM(Document Object Model,文档
                   对象模型)。与此同时,还有一个常常被忽略的模型——CSSOM(CSS Object
                   Model,CSS 对象模型),也会基于特定的样式表规则和资源构建而成。这两个模
                   型共同创建“渲染树”,之后浏览器就有了足够的信息去进行布局,并在屏幕上绘
                   制图形。到目前为止,一切都很好理解。


                                                                         Web性能要点   |   145
   155   156   157   158   159   160   161   162   163   164   165