专题 · Web 作为系统能力
Web 作为系统能力:编年目录
这份目录服务于“Web 作为系统能力”系列。它不试图定义一条必然的技术进步史,而是记录每个转折改变了什么:内容如何发布、请求如何触发计算、谁承担运行成本,以及独立站点如何回应彼此。
| 时间 | 节点 | 对系列的意义 | 主要来源 |
|---|---|---|---|
| 1989 | Tim Berners-Lee 在 CERN 提出 World Wide Web | Web 的起点是跨组织的信息共享方案,而不是今天意义上的应用平台。 | W3C 历史 |
| 1990 | 首个浏览器/编辑器与服务器实现 | 早期 Web 同时包含阅读和创作的想象。 | W3C WorldWideWeb |
| 1991–1993 | Web 向外部开放,CERN 以无偿条件开放实现与协议 | 文档链接、浏览器、跨平台软件与开放条件共同推动传播。 | CERN |
| 早期 1990 年代 | Gopher 是重要的信息导航方式 | Web 的普及不是某一个格式单独获胜,发布和导航体验也在竞争。 | University of Minnesota |
| 1993 以后 | CGI 逐渐成为 Web 服务器调用程序的共同接口 | URL 不再只返回预先存在的文件,Web 获得程序化响应。 | RFC 3875 |
| 1994 | PHP 从 CGI 形式开始发展 | 模板、HTML 与数据访问逐渐进入同一份站点实现。 | PHP 历史 |
| 1996 | Microsoft 发布 FrontPage | 面向非程序员的可视化建站,早于博客热潮就在尝试降低创作和维护门槛。 | Microsoft 新闻稿 |
| 1997 | Jørn Barger 使用 “weblog” 这一称谓 | 连续更新、链接与个人记录成为可辨认的发布形式。 | Wired 回顾 |
| 1990 年代末至 2000 年代初 | Java Servlet、JSP 与 J2EE 式服务端 Web 应用成为重要路线 | Web 可以由应用服务器、数据库与事务性业务逻辑共同处理;这不是说每个站点都采用 Java,而是应用栈成为主流组织方式之一。 | Oracle: Java Servlet technology |
| 1999 | Blogger 上线,blog 一词流行 | 重复发帖、模板、归档和托管被收进更轻的工作流。 | Blogger 历史 |
| 2000 | Apple HomePage 作为 iTools 服务推出 | 模板、拖放与照片发布让消费者能在不写程序的情况下创建个人页面。 | Apple |
| 2002 | TrackBack 作为 Movable Type 功能和开放规范推出 | 跨站回应可以保留在回应者自己的站点上,再通知原文。 | Movable Type |
| 2002 | .Mac 将 iDisk、个人主页和照片发布组合为托管服务 | 本地创作与托管发布被产品化地结合。 | Apple |
| 2004–2005 | Ruby on Rails 与 Django 相继出现 | 约定和 batteries-included 的框架把路由、ORM、迁移、模板和脚手架收进更连贯的开发体验;它们没有发明 MVC、数据库或全部现代 Web 实践。 | Rails releases;Django 的首个版本 |
| 2005 | “Ajax” 被命名为一类前端交互模式 | 浏览器逐渐成为更强的应用 runtime。 | Jesse James Garrett |
| 2006 | Apple iWeb 推出 | 以桌面软件、模板和一键发布降低个人网站和媒体发布门槛。 | Apple |
| 2008 | GitHub Pages 宣布 Git push 发布 | 版本控制与静态发布形成新的简化路径。 | GitHub |
| 2011 | Amazon S3 增加静态网站能力 | 对象存储可以直接承担一部分公开 Web 的发布职责。 | AWS |
| 2012 | Google Drive Site Publishing 推出 | 普通文件夹可短暂成为静态 Web 发布空间。 | Google 开发者博客 |
| 2013 | React 开源 | 组件化客户端 UI 成为现代 Web 的重要路线之一。 | React 版本历史 |
| 2015 | Netlify 推出 Git 驱动的部署 | Git 驱动的构建和发布被产品化;它不是首个静态托管或 Git push 发布方案,GitHub Pages 和 S3 的相关能力更早出现。 | Netlify 十年回顾 |
| 2015–2016 | Google Drive Web Hosting 宣布弃用并关闭 | 文件分享与网站托管被重新分离;Google 推荐使用专门托管服务。 | |
| 2016 | Netlify 推出 Deploy Previews | 每个 pull request 可得到独立预览 URL,部署工作流开始把构建、评审和上线更紧地连在一起。 | Netlify: Deploy Previews |
| 2016 | ZEIT 的 now 从简化应用部署起步 | now 试图把部署、SSL 与路由等常见环节收进更短的路径;它与 Netlify 并非一条“谁取代谁”的线性故事。 | ZEIT is now Vercel |
| 2016–2017 | Dropbox 逐步停止 Public folder 的 HTML 渲染与公开共享 | 云盘曾经的轻量静态发布能力退出,普通共享链接与站点发布再次分开。 | Dropbox |
| 2017 | Webmention 成为 W3C Recommendation | 跨站可验证链接通知成为开放标准。 | W3C Webmention 历史 |
| 2018 | ActivityPub 成为 W3C Recommendation | Actor、inbox/outbox 与活动传递为联邦社交系统提供标准模型。 | W3C ActivityPub |
| 2020 | ZEIT 更名为 Vercel | Git → preview → shipping 的工作流继续覆盖静态交付,也覆盖常见的服务器渲染、函数/API 路由与 edge runtime 工作;它并不替团队承担所有后端或完整全栈需求。 | Vercel 更名说明;Vercel Git 部署;Vercel Functions |
| 2020 | ArcBlock 发布 ABT Node 1.0 | 这是另一条降低部署与运行摩擦的路线:可自行部署和管理的 runtime 可安装、组合、运行并管理静态或动态 Blocklet,并提供路由、DID/身份、授权与生命周期能力;它不是 Netlify 或 Vercel 的直接替代或排名对象。 | ArcBlock: ABT Node 1.0 |
| 2021 年末 | ABT Node 更名为 Blocklet Server | 名称变化不倒置历史:2020 年的已发布系统名为 ABT Node,后来才以 Blocklet Server 延续。 | ArcBlock: Blocklet Server 1.6.0 |
| 2023 | v0 以 prompt-to-UI 方式进入开发流程 | 最初的重点是从提示生成 React、Tailwind CSS 与 shadcn/ui 代码;后来可以接入 Vercel 的部署路径。自然语言把构建入口前移,但没有取消部署、数据、身份或运行时的边界。 | Vercel: Announcing v0;v0 的部署说明 |
| 2024–2025 | Lovable 将提示构建、预览与显式发布组织为一条工作流 | 项目可生成可分享预览;发布是独立动作,可获得 lovable.app URL 或自定义域名。它降低了进入门槛,但不把生产发布变成一句话后的自动结果。 | Lovable: Publish;Lovable: Share project |
| ARC 当前阶段 | Web Device、UI Device、AFS 与通用评论/reaction 原语共同演进 | ARC 所处理的是另一层反复出现的系统能力:数据、身份、权限、发布、互动与 runtime 的责任边界,而不是再提供一个 Web 框架或托管服务。 | ArcBlock: Web Device;本系列在发布前再按版本核对实现边界 |
读这份时间线时需要注意什么
public_html是 Apache UserDir 的服务器约定,不能与 macOS 的Sites目录或 Apple 的 HomePage/iWeb 混为同一产品。- Weblog、博客工具和 TrackBack 分别对应写作形式、发布工作流与跨站回应通知。它们有关联,但不是一个发明。
- Dropbox Public folder、Google Drive Web Hosting、Google Sites 和 Google Cloud Storage 是不同产品或能力;不要用今天的文件分享功能反推过去的托管能力。
- GitHub Pages、S3、Netlify、ZEIT/now、Vercel、v0 与 Lovable 分别处在静态托管、部署工作流或 prompt-driven building 的不同位置;把它们排成单一的“替代链”会丢掉各自解决的问题。
- ABT Node 是 2020 年发布时的名称,Blocklet Server 是后来的名称;两者不应被写成两个从无到有的独立产品。
- Webmention 与 ActivityPub 也不是同一层协议。前者是经过验证的链接通知;后者定义了联邦活动模型。
- ARC 对 Webmention 与 ActivityPub 的对外互操作仍是设计目标,不是现有兼容功能。