“ Atom 发布协议是一个失败。”Joe Gregorio 表示,他承认自己已经到做足那分博客宣传份额的日子了。在这篇博文里,大部分是关于 AtomPub 的采用程度如何远远的低于其预期。Joe 写到:“每天仍有许多新的协议在开发中,其中很多都可以用到 AtomPub,但却没作出这样的选择。”
Joe 将 AtomPub 不能成为“一个真正的协议”归因于浏览器的革新。
与 Atom 和 AtomPub 开始于 2002 年的那个年代相比,世界完全不同了。浏览器已是异常强大,Javascript 的兼容性也提得到提高,有更多的库来让差异变得平滑,连结性也正在上升。面对所有这些改变让我们来看看 AtomPub 背后最初的动机是如何支持的。
据 Joe 的说法 AtomPub 的许多核心功能所设计去解决的问题,或者是浏览器技术进步可轻易获得的结果,或者已不再是一个显著的区别点了:
1. 浏览器的功能被局限成一个“编辑器”而 AtomPub 为富客户端和 RIA 而产生。
现实情况是越来越多的功能已加入浏览器本身,因此作为编辑协议就失去了其驱动力之一。
2.AtomPub 被设计为处理离线编辑的场景。
另一个动机是“在飞机上编辑”的场景。其思想是你无法总是在线,而当你离线时你无法使用你的浏览器。维珍航空和 Edge 上网卡所不能解决的这一问题,一部分已经由 Gears 和 DVCS 解决了。
3. 作为一种公共的交换格式。
这当中的“问题”是在中间时期产生了一种更好的格式:JSON。JSON,出身于 Javascript 和浏览器,是完美的“数据”交换格式,这里我区别开了“数据”交换与“文档”交换。如果你想要的只是从 A 点到 B 点获取数据,JSON 是更容易生成和消费的格式,因为它直接映射到数据结构。
Joe 针对了许多服务中的 AtomPub 的成功实现,并概括到“浏览器的进步与连接性共同阻止了 AtomPub 达到广泛的采纳”。
其它的用例仍然经得起时间,比如从一种平台迁移数据到另一平台。或许最大的基于 AtomPub 的服务供应商是 Google 的 Google Data API ,但它同时也拥有其它服务的支持;最近我注意到 flickr 提供了以 AtomPub 的方法来将图片提交到你的博客。
Dare Obasanjo,在他的博客上表达了同样的观点。
作为 Web 上暴露 API 的方式,以对象为中心的 JSON 相对于以文档为中心的 XML 的走红,是对 Atom 发布协议关键的真正赌注。
由于微软将 AtomPub 押在了其云产品上,而google 也在其 Google Data APIs 对 AtomPub 作出了投资,它也许实际上并不是那样的失败。Joe 的原文在其博客上。
评论