Web 已经绰绰有余

Paul Ford 做了一套把数据存在 URL 里的办公套件,由此认定浏览器是眼下地球上做软件最便宜的地方。

中文
复制
一个老式浏览器窗口,中央是一只尖叫的黄色橡皮鸡,背景是紫红两色的漩涡星系

网页浏览器能支撑的应用开发丰富得惊人,而且比过去容易太多了。

一张老式浏览器窗口的图片,正中央是一只尖叫的亮黄色橡皮鸡。背景是紫色与红色交织的旋转星系。

你可以全都拥有,我的 alert() 帝国。

上周挺有意思。我们上线了 tinylittleoffice.com(你最早是在这里听说的!),结果发现,想买“把数据存在 URL 里的办公套件”的人还真不少。

来的人太多,服务器挂了(好吧,是我把 CloudFlare 免费套餐用到了上限),最后我填了信用卡,前后有几十万人过来瞧了瞧。Hacker News 上有人坚称这纯属浪费时间,GitHub 上的人则开始提需求和修复,这些我们都在考虑,有些已经在做了。The Register 写了篇报道,它还一度挤进了 Product Hunt 的前十。

一切都好;我们会继续维护和改进它,一点一点来,同时照常为客户做稳定的软件开发工作。不过我想先停一下,说说这个过程里让我意外的一件事。

网页浏览器是构建应用时极其、极其、极其强大的软件。

我知道这是明摆着的事,过去二十年里我随时都可以这么说。但现在这句话要加个补充。

网页浏览器是构建应用时极其、极其、极其强大的软件,而获取这份能力的成本,几乎每天都在下降。

我做一个基于网页的办公套件,花的力气大概只是平时写一篇长通讯稿的两倍。我说这个不是因为我天赋异禀。我说这个是因为,只要你想,你也能学会做。

快、便宜、好,对吧?可即便我不得不填了信用卡,CloudFlare 的托管费用还是……$0。一部分是因为我处处往便宜里优化,一部分是因为现在就是这样。快?天哪,计算机是快,软件开发相比过去也快。但在写 Web 应用的过程中,我不断发现浏览器里自己并不熟悉的角落。里面就是……很野。

  • Web Crypto API 是浏览器中首屈一指的安全平台。
  • Web Assembly 平台让你在浏览器里以原生速度运行代码。
  • WebGL 为浏览器提供高质量的 3D 和 2D 图形。
  • Web Audio API 让你在浏览器里混音。

诸如此类,不胜枚举。如今,Web 确实是最理想的软件分发平台。它天生支持多语言。我发布 TinyLittleOffice 时做了 21 种语言(都是纽约最常见的语言,所以里面才有克里奥尔语和意第绪语),还配了大量无障碍基础设施。当然,JavaScript 是一门功能完备的编程语言,HTML 能表达计算机文档所能做的绝大部分事情;如果你需要更老派的东西,PDF.js 让你在浏览器里处理 PDF。我觉得如今连文本断词都能可靠地做了,虽然我对此持怀疑态度。

这些东西的存在我早就知道,甚至用它们编过程序。但我从没真正仔细看过;我只是下载现成的开源代码,让构建更省事,然后想办法把软件拖过终点线。

我那套古怪的 1990 年代风格办公套件也许说服不了你,它又怪又小。那就看看 Simon Willison 新做的网页版 3D 浏览器游戏 Battle Drones。他把它托管在 GitHub 上,代码是他自己写的。他可不是游戏开发者。游戏直接在浏览器里弹出来就能玩。支持多人对战,还能离线运行。

Battle Drones 游戏截图,俯视视角下的绿色陆块和若干蓝灰色建筑。

该放置你的 Fab Plant 了。

他本人是这么写的。

……但我现在看到了一条路,让这种 vibe coding 出来的游戏被认真对待。Battle Drones 好玩,画面好看,还有创新之处(据我所知,通过音频实现多人联机在 RTS 里还是头一回)。我很想看看,一个品味比我好、又满怀热情想做出真正非凡之作的人,能做出什么样的东西来!

各种酷炫的浏览器技术问世已有多年,但每一门都极其庞杂。你要是把 Web Audio 学透了,多半就没时间再去精通 Web Crypto、Web Assembly 和 WebGL 了。

它们之所以这么复杂,基本上是因为它们是给 Google 那样的团队造的,而不是给个人用的。过去,Web 是让人做网页的。没错,现在你照样可以做网页,但十多年来,Web 一直是为巨型公司设计的,好让它们安全地把软件交付给几十亿刷信用卡买东西的人。这些庞大的巨型库被塞进浏览器,是为了让大团队能造出大东西,而个人开发者基本只是顺带被考虑一下。但现在你可以做一个带声音的 3D 游戏,在飞机上也能跑得好好的。

正是在这类地方,“我们是不是处在 AI 泡沫里”这个问题对我来说变得模糊了,因为很明显,这些 AI 巨头都在猛吸 AGI 的油漆味,但与此同时,如果我们真的开启了某种经济转型,比如让一百倍的人互相为对方做软件,那会在当下的科技经济里炸出一个巨坑。不喜欢你那台巨型工业织机织地毯的方式?自己改固件,让每块地毯都完全个性化!把任何一条 Instagram 帖子变成一大块地板铺材!突然间,所有地毯公司都得改自己的固件才能竞争。那会是什么样子?

这也会动摇应用商店经济。当你可以花 0 美元、用几周时间在真实世界里通过一台 Web 服务器验证一个想法,为应用商店开发所要交的高额税就显得不那么值了。也许 Mozilla 该再试一次做手机!(当我没说过。)无论如何,过去需要大规模工业化流程的事,现在只要你愿意,一个人就能做。浏览器让极其丰富的应用开发成为可能,而这比过去容易得太多太多了。

这是一把双刃剑。我写了多年东西,而每过一周,软件开发在我眼里就越像写作。这个类比尴尬的地方在于,一般来说,人们根本不想付给写作者任何钱。作为写作者,你会习惯这一点。但对做软件的人来说,长期被低估还挺新鲜的。话说回来,如果你需要软件来做某件事,比如我们的客户,比如理顺一个流程、整理一个数据库、让一台大型工业设备发挥更大价值,那现在真是个好时候,因为你几乎什么都能做。我挺确信大家最终会走到中间地带,但这需要时间,而且到了那边,情况会不一样。

来源: ftrain.com← 返回首页