吐槽网页技术

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 价值 200 美元的免费信用额度!

这篇文章 “Shadow DOM” 由 Steven Wittens 撰写,它只是模糊地提到了 Shadow DOM。 它主要讲述了所有事物有多糟糕。 HTML 很糟糕,CSS 很糟糕,DOM 很糟糕,SVG 很糟糕,MathML 很糟糕…… 我不想针对 Steven。毫无疑问,他比我聪明许多(许多)倍,并且有充分的理由。 让我们放眼更广阔的世界。

我经常从那些在这个领域工作了很长时间并且非常聪明的人那里看到这种现象。 他们对我们必须使用的系统产生了厌恶。 他们看到了所有的缺点、错误,尤其是他们认为的深层系统性缺陷或历史错误。 随着我们不断前进,在这些被认为是基础的裂缝上继续构建,所有这些都变得更糟。

他们总是提出非常有见地的观点。 我们只能点头称是,因为他们是对的,网络确实做了一些怪异的事情,并在许多方面让我们失望了。 如果我们能把一切都抛开,用一些新的、完美设计的系统来满足每个人的现代需求,那不是很好吗? 当然,当然很好。 你想住在你的城镇还是乌托邦式的村庄? 我选择乌托邦。

一句必须补充的话:但乌托邦并不存在!

网络上没有其他的布局语言。 没有其他方法可以提供可访问的内容。 没有更好的替代方案争夺领先地位。 这是因为这是一项艰巨的任务。 任何竞争者都需要

  1. 开发一个新的系统,该系统在所有方面都优于现有系统。
  2. 让全球的开发者都同意这个新系统更好,并要求使用它。
  3. 让标准机构(或类似机构)支持它,以便有监督和独立的实施信息来源。
  4. 让所有浏览器都同意并完美地实现它。

哈哈,没错。

所有这些事情都难以置信地困难,难怪很少有人尝试。 我认为 #1 是最难的。 我们目前的系统存在很多缺陷,但想象一下从头开始构建这样一个复杂的系统。

我觉得现在网络技术正在发生的事情是,这些问题正在以更小的规模得到解决。

当然,HTML 是我们的内容,但它也负责语义,对吧? 如果我们可以在其中做任何我们想做的事情,而不必担心是否会损害语义,那会很棒。 希望 Shadow DOM 可以帮助解决这个问题。 也许它还可以帮助解决 CSS 在你不希望它成为全局性的时过于全局的问题。

也许 flexbox网格布局区域 可以成为我们一直需要的真正强大且直观的布局系统,而没有表格固有的可访问性问题。

SVG 并不完美,但也许它仍然比使用光栅图像格式来显示矢量图像更好? 也许 SVG 有可能帮助网站更好地使用 图标系统? 也许我们可以开始使用 一种新的图像格式,它越来越多地适用于现代浏览器。

也许预处理器可以成为一种解决方案,以简化这些复杂语言的编写并降低复杂性?

也许我们可以 扩展现在的网络,就像我们希望看到的那样,使用现有技术。

这些事情证明了我们可以让网络变得更好。 我们可以慢慢地做到。 我们可以借助标准机构的力量做到。 我们可以教育开发者,随着时间的推移改变他们的思维方式。 我们可以使用已经存在的浏览器,所以我们不需要对抗公众行为。

我认为听起来不错。 我也不认为我们有太多选择。