当我 2000 年代中期在该领域的第一份“正式”工作中工作时,网页开发领域强调构建小型网站(每页不超过 100KB),只将 JavaScript 用于特殊效果,并确保**所有内容**(从图像到 Flash 内容)都具有回退,以便 JavaScript 功能逐步增强。如果没有 JavaScript,网站仍然可以 100% 正常工作,只是没有那么花哨。
这条建议的原因很简单:在网页的早期,每个人都只能使用拨号上网,速度非常慢。实际上,仅仅连接到互联网就需要几分钟,更不用说访问网站了。点击“连接”按钮,然后去喝杯咖啡或抽支烟,因为这真的需要几分钟。因此,从这个意义上说,2000 年代中期构建良好网站的关键原则包括使网站变小并为内容提供可靠的回退,这是非常合理的。
我非常怀念那些日子。我认为,那些限制使网页变得更好。但是,随着时间的推移,随着美国的服务提供商技术不断改进,有了宽带(最终是光纤),这些限制不再被视为问题了。
今天,网页开发的规则完全不同。它更多地是关于开发人员体验,而不是用户体验:构建流程、决定使用哪个框架和技术栈,以及确定网站在 Google 搜索结果中的排名。不幸的是,守门员(即,如果你不做“y”,你就不是真正的“x”)和框架之战已经取代了“如何在没有 JavaScript 的情况下制作这个酷东西”的对话。我真的不关注这些东西,因为最终,它们都在浏览器中呈现为 HTML、CSS 和 JavaScript;使用任何适合你的东西。

然而,让我困扰的是,那些需要 JavaScript 才能使用的巨型网站已经成为公认的标准。目前的数据显示,网站的平均大小为——大口呼吸——每页 2MB?!而且,如果您没有启用 JavaScript,请准备好迎接暴风雪(我称那些只显示白屏的网站为暴风雪)。
JavaScript 已成为网页的第三根支柱。我知道 JavaScript 非常有用,那么我为什么要挑剔它?我是在挑剔这样一个事实,即很多网站如果没有 JavaScript 就无法加载。什么时候加载 HTML 和 CSS 开始依赖 JavaScript 了?
我最近搬到一个大城市郊区的农村地区,这让我回想起那些早期的网页开发时代,因为我再次在移动设备上拥有糟糕的互联网连接。宽带连接还可以,但是当我出门在外或停电时,我就会回到拨号上网时代的那种缓慢体验。当我在移动设备上浏览网页时,我很喜欢阅读模式,并且必须关闭 JavaScript(以及大多数图像,得益于 JavaScript 的延迟加载),因为要下载和运行它们太费劲了。但是,仅仅通过关闭 JavaScript,很多网站甚至无法加载。白屏死亡并非由于我的手机没电;而是由于我无法访问互联网。而且这个白屏出现在一个又一个网站上,因此被称为暴风雪。

大多数情况下,我可以使用家里的 Wi-Fi 来完成必要的互联网事情,比如工作、购物和支付账单。但是,今年夏天晚些时候,我家的电停了。所以,我用手机访问了电力公司的网站,看看何时能恢复供电,因为整个房子都靠电力供应,我需要知道我们是否需要为食物和水等事情做出安排。但是,电力公司的移动网站很大(传输了 3MB,资源为 8.6MB——哎哟),无法加载(即使启用了 JavaScript)。
我气愤地去了推特,发表了自己的愤怒。
我收到了很多很棒的回复,向我展示了一些网站确实能够很好地处理限制,比如traintimes.org.uk 和NPR 的纯文本版本。是的!为什么他们不提供停电页面的纯文本版本,这样当人们真正需要该页面时,即使在最糟糕的情况下,他们也能使用它?
我的停电场景是一种一次性情况,但是美国和全世界的人们都面临着不稳定的互联网问题,因为他们没有其他选择。NPR 发表了一篇文章,报道了在互联网连接不稳定的社区中,教师在疫情期间努力教学的困境,难以置信,这是美国任何地方的互联网可用性现状。但事实仍然如此。
很明显,很多人都能从早期网页开发的限制中受益。在宽带网络出现之前构建的网站(比如臭名昭著的1996 年的《空中大灌篮》网站)的美妙之处在于,它们可以在几乎任何情况下,使用任何类型的设备从任何地方加载,因为它们在构建时考虑到了这些限制。希望所有开发人员都开始采用自适应加载策略,为慢速网络或低端设备上的用户提供解决方案。
是的!我希望这仍然是一个考虑因素。
我在工作的地方,网站是由一家外部公司为营销团队开发的,其大小非常庞大
107 个请求,
传输了 7.3MB,
在我正常的宽带连接下需要 16.8 秒。
阿门。我记得网页的推荐大小(包括资源)大约是 35KB,首页也许是 50KB。大多数 JavaScript 框架都比这大。哎呀,我见过比这还大的图标。
这可能很有趣——即使没有异常天气或灾难,也不是每个人都能拥有快速廉价的连接:https://simonhearne.com/2021/inclusive-design/
我最近也读到了一些关于灾难过后的人们带宽非常有限,迫切需要信息的报道。我认为 NPR 和 CNN 的网站都提到了这一点。不幸的是,我找不到链接。
这种精简网站的另一个好处是,如果您有带宽,它们会非常快,并且通常非常适合在 CDN 等上进行缓存。一个 2MB 的臃肿页面仍然需要时间才能到达(然后,当你以为加载完成时,所有 GTM 脚本、分析和网站上粘贴的各种杂乱信息也都来了)。最终,有人要为这种带宽付费。
多年来,我一直思考着我们现在的带宽与 25 年前的带宽相比有多大——但我们的页面并没有更快。相反,我们用视频、效率低下的图像、大量的 CSS、比你合理需要还要多的 JavaScript 框架,以及可恶的营销分析让它们变得臃肿。
当然,有些东西确实很有用;web 应用程序可以做更多的事情,变得更加丰富——但这不是必须的,有些应用程序只需要速度快、轻便、高效。
有趣的阅读。虽然我以前没有写过代码,但我强烈相信功能重于形式。如果一个页面连内容都无法加载,那它既不功能也不时尚。
很棒的见解