Post by account_disabled on Jan 28, 2024 7:10:50 GMT
这篇文章最初发表在上,经作者许可在此处重新发布。如果您有兴趣试用 Calibre,您可以立即开始 14 天免费试用。 有很多理由说明为什么需要更仔细地考虑 JavaScript 的存在(它的作用、工作原理以及重量)。 如今,超过 50% 的Web 流量由移动设备构成,其中许多设备在极其不稳定的网络连接下运行— 在许多情况下,在 10 秒内加载脚本几乎是不可能 的。 如果您正在开发单页应用程序,并且没有合理的纯内容后备方案,那么这可能比您想象的更具破坏性——用户将长时间观看带有部分内容的白屏。 根据 Google DoubleClick 的数据,在将加载时间为 5 秒的网站与加载时间为 19 秒的网站进行比较时,速度较慢的网站的平均会话长度要长 70%,跳出率要低 35%,广告可见度要高 25%。 毫无疑问,性能很重要,但是 JavaScript 对我们的网站有哪些常见的负面影响呢?我们目前如何评估绩效? Learn to Code with JavaScript 让我们简要(但具有建设性)地了解一下 JavaScript 的成本 在通常审核 JavaScript 的性能影响时,我们会考虑: 页面上存在的渲染阻塞脚本的数量 下载脚本需要多长时间以及传输的数据量 但我们经常忽略的是此后发生的事情...... 一旦设备下载了脚本,就必须对其进行解析、转换为字节码、编译然后执行。
解析和编译时间是同一个网站在 3000 美元的 MacBook 上运行良好,但在使用了 2 年的智能手机上却显得有些卡顿的两个原因。 常规桌面浏览器上的 Chrome 解析/编译时间与低功耗移动设备上的比较 上图比较了常规桌面浏览器与低功耗移动设备上的 Chrome 解析/编译时间。该图取自Addy Osmani的优秀文章“ JavaScript Start-up Performance ”。 哎哟。 Learn to Code with JavaScript 假设,作为一个实验,我们删除了所有脚本来建立性能 WhatsApp 号码数据 基线,以回答“这能有多快?”的问题。 Calibre的存在是为了让团队能够更好地了解更多领域的性能和用户体验,因此本着这一精神,您现在可以对带有或不带有 JS 的网站进行直接比较 - 作为测试配置文件。 Calibre App:使用和不使用 JavaScript 进行测试现在您可以使用或不使用 JavaScript 进行测试 我启用了禁用脚本的功能,并对流行的全球新闻网站(使用或不使用 JavaScript)进行了一些测试。 结果相当惊人——如下,《卫报》。 《卫报》网站,带或不带 JavaScript 左:无 JS、3G 连接、iPhone 6 — 所有内容在 5 秒内完全可见。右图:3G 连接,iPhone 6 — 所有内容在 10 秒左右完全可见,onLoad 在 20 秒左右调用。 视觉完整性的时间 从“非 js”版本(左图)开始 —所有内容在 5 秒内可见。3G 上。感人的。
Learn to Code with JavaScript 然而,“with-js”版本的情况有很大不同——主要文章图像出现在 9.5 秒左右,有细微的变化(天气、字体、更多字体,最后是“突发新闻”文章)一直到大约20秒。 数据 使用 JavaScript,《卫报》在115 个请求中传输了3.41Mb 的数据,而没有使用 JavaScript,则传输的数据从61 个请求中减少了 50% 以上 — 1.59MB。对天气、字体和重大文章的链接征收高额税。 很明显,传输的数据并不全是 JS,它是附加内容、图标,甚至可能还有一些样式,但情况很清楚:这些内容是非必要的,并且会损害该页面的性能。 使用 Calibre 了解您的网站的速度 我们有了一个可靠且可重复的性能基准来回答这个永恒的问题:“这能有多快?”。如果我们能够(在合理范围内)应用这些规则,直到为客户提供最轻松、最快的体验,会怎么样? 最终达到完美,不是当不再有任何东西可以添加时,而是 当不再有任何东西可以删除时。 ——安东尼·德·圣埃克苏佩里 如果您是 Calibre 客户,并且对使用或不使用脚本进行监控感兴趣,那么您所需要做的就是选中“禁用 JavaScript 执行”复选框。(您的站点→设置→测试配置文件)。 Learn to Code with JavaScript 我很想听听您计划如何使用测试配置文件;如果您有任何疑问、想法或想法,请分享! 如果您尚未使用 Calibre,那么您可以立即开始 14 天的 Calibre 免费试用。 如果这篇文章让您的开发团队争论 Web 是否在没有 JavaScript 的情况下存在,我很抱歉。
解析和编译时间是同一个网站在 3000 美元的 MacBook 上运行良好,但在使用了 2 年的智能手机上却显得有些卡顿的两个原因。 常规桌面浏览器上的 Chrome 解析/编译时间与低功耗移动设备上的比较 上图比较了常规桌面浏览器与低功耗移动设备上的 Chrome 解析/编译时间。该图取自Addy Osmani的优秀文章“ JavaScript Start-up Performance ”。 哎哟。 Learn to Code with JavaScript 假设,作为一个实验,我们删除了所有脚本来建立性能 WhatsApp 号码数据 基线,以回答“这能有多快?”的问题。 Calibre的存在是为了让团队能够更好地了解更多领域的性能和用户体验,因此本着这一精神,您现在可以对带有或不带有 JS 的网站进行直接比较 - 作为测试配置文件。 Calibre App:使用和不使用 JavaScript 进行测试现在您可以使用或不使用 JavaScript 进行测试 我启用了禁用脚本的功能,并对流行的全球新闻网站(使用或不使用 JavaScript)进行了一些测试。 结果相当惊人——如下,《卫报》。 《卫报》网站,带或不带 JavaScript 左:无 JS、3G 连接、iPhone 6 — 所有内容在 5 秒内完全可见。右图:3G 连接,iPhone 6 — 所有内容在 10 秒左右完全可见,onLoad 在 20 秒左右调用。 视觉完整性的时间 从“非 js”版本(左图)开始 —所有内容在 5 秒内可见。3G 上。感人的。
Learn to Code with JavaScript 然而,“with-js”版本的情况有很大不同——主要文章图像出现在 9.5 秒左右,有细微的变化(天气、字体、更多字体,最后是“突发新闻”文章)一直到大约20秒。 数据 使用 JavaScript,《卫报》在115 个请求中传输了3.41Mb 的数据,而没有使用 JavaScript,则传输的数据从61 个请求中减少了 50% 以上 — 1.59MB。对天气、字体和重大文章的链接征收高额税。 很明显,传输的数据并不全是 JS,它是附加内容、图标,甚至可能还有一些样式,但情况很清楚:这些内容是非必要的,并且会损害该页面的性能。 使用 Calibre 了解您的网站的速度 我们有了一个可靠且可重复的性能基准来回答这个永恒的问题:“这能有多快?”。如果我们能够(在合理范围内)应用这些规则,直到为客户提供最轻松、最快的体验,会怎么样? 最终达到完美,不是当不再有任何东西可以添加时,而是 当不再有任何东西可以删除时。 ——安东尼·德·圣埃克苏佩里 如果您是 Calibre 客户,并且对使用或不使用脚本进行监控感兴趣,那么您所需要做的就是选中“禁用 JavaScript 执行”复选框。(您的站点→设置→测试配置文件)。 Learn to Code with JavaScript 我很想听听您计划如何使用测试配置文件;如果您有任何疑问、想法或想法,请分享! 如果您尚未使用 Calibre,那么您可以立即开始 14 天的 Calibre 免费试用。 如果这篇文章让您的开发团队争论 Web 是否在没有 JavaScript 的情况下存在,我很抱歉。