假如我们从零重造万维网?开发者对Web标准的脑洞大开
现在的Web和我们想要的Web
还记得Web开发简单的时候吗?那会儿你能记住核心规范。现在呢?HTML规范足足18MB多,密密麻麻,还天天变。浏览器各玩各的,大家天天修补那些莫名其妙的bug。
你有没有想过:要是从头设计Web,会不会简单多了?
核心问题:复杂是护城河
说句扎心的话,Web这么复杂不是意外。规范越乱,只有大公司才有钱造浏览器。小团队根本玩不起。创新停滞,大玩家想怎么赚钱就怎么来。
从博弈论看,这很聪明:
- 新浏览器要一大堆工程师
- 小公司直接出局
- 老大掌控一切
- 创新?慢慢来吧
对赢家来说,这就是福利。
简单Web长啥样?
想象一个规范,小到能压缩打包打印。版本号清清楚楚,像1.2.3,发出去就不变。你买1.2.0,躲岛上也能照着建标准浏览器。
严格语法,别再宽容乱象
现在Web的“纠错”哲学,让解析器开发者头疼。浏览器得猜破HTML怎么渲染,因为“Web需要”。我们反过来呢?
来个正式、无歧义的语法。页面要么合规,要么滚蛋。不玩模糊,不乱解读。规范就得精准,谁都能解析。
好处?开发者转用Markdown、YAML这种宽松格式,编译成标准标记。工具门槛暴降,大家都爽。
语义版本就是合同
活标准每周改,开发者抓狂。语义版本来救场:
- Patch 只修错别字,语法不动
- Minor 加兼容新功能
- Major 才破环变化
你写代码瞄准1.2.0,知道在1.2.0到1.3.x浏览器稳跑,老版1.1.x不行。你能规划了。
文本为王,最狠的功能
Web迷上富媒体和脚本,复杂爆棚。干嘛不以文本和语义结构为中心?
文本好带、好翻、好读、省空间。文本基底的页面:
- 任何屏大小自适应
- 屏读器直接读,不hack
- CSS挂了还能看
- 文件小到离谱
这不是倒退,是回归Web本质:人传信息。
脚本这事儿
争议来了:脚本是错的。
别急着关页。不是说互动程序不好,是网页里塞全编程语言,安全和复杂都疯了。随便网站跑代码,几乎全系统权限,想想都吓人。
互动用受限声明式系统呢?复杂app单独跑程序,别塞浏览器?
为什么现在重要
这不是空谈,直击你工作。
域名和hosting平台:简单标准Web,安全好、安全合规、基础设施优化容易。我们在NameOcean,花大把工程时间绕浏览器怪癖。干净规范,负担轻。
开发者:规范清楚,bug少、开发快、调试易。自信瞄准版本,不追浏览器实现。
创业者:门槛低,新人有机会。竞争多、创新多、工具好。
用户:文件小、加载快、体验亲和、安全默认高。
标准被垄断的阻力
关键洞见:标准变迁看权力,不只技术。复杂可能是故意的,护市场位。你懂了,就知修Web多难。
重想标准,得玩博弈论:怎么保持开源简单,当钱诱惑想搞复杂?
答案在约束:文件大小限、明确治理、后向兼容承诺、社区管。不是技术,是政治。
我们现在能干啥
没法明天fork整个Web(虽有些项目试)。但你能:
- 求简单。限JavaScript复杂度,重语义HTML。关CSS站点还行。
- 瞄准具体浏览器版。别总追最新,标清兼容目标。
- 推文本体验。站点纯文本可读,内容用Markdown。
- 质疑厂商新功能。没益处的别用,能用不等于该用。
- 挺开源标准和替代平台。小浏览器、开源项目、社区活,需要原则开发者,不只追市场。
真问题
Web不必这么复杂。它复杂,说明资本主义下标准怎么变。技术答案简单,政治难。
“分叉Web”成不成都无所谓。问这些问题,让我们清醒。继承的Web不是天注定,是选的。选的,能改。
下次纠结浏览器怪癖,或抄竞品复杂功能时,想想:不必这样。