为什么 HAL(超文本应用程序语言)已被弃用且未普及?

Why is HAL (Hypertext Application Language) deprecated and not widespread?

为什么 HAL 被弃用并且没有广泛使用?

HAL 背后的主要思想是在 http 端点之上添加一个抽象级别。不是使用硬编码地址,而是使用关系的概念来为端点添加别名。这允许很多简化。例如。当有两个团队在两个模块上工作并且第二个团队修改了第一个团队使用的端点时,如果 HAL 的解析和地址检索是自动的(易于设置),第一个团队将无需执行任何操作。

但我去 wiki 阅读:

the latest version of HAL Internet-Draft expired on November 12, 2016

所以,我不明白为什么 HAL 没有得到广泛的认可,在现代分布式系统中有什么可以替代它。

我当然知道消息系统,但它们依赖于平台。因此,我能想到的唯一其他选择是使用裸 http 地址来实现后端系统之间的平台无关通信,因为所有(几乎所有)技术都支持 http。

请不要将我的问题视为含糊不清,如果我上面写的内容不清楚,请在评论中提问。我的问题很明确:

1 HAL 是 Web 应用程序开发向前迈出的重要一步

2没有替代品

3 已弃用,未得到广泛认可

123产生矛盾,所以这三个中的一个应该是错的,我不知道是哪一个。

过期的草稿并不一定意味着该规范已被弃用。这只是 IETF 草案中的一个自动化系统,但很多人确实依赖 IETF 术语中 'expired' 的规范。

HAL 仍在被许多人积极使用和扩展。最近对 HAL-Forms 扩展的大力推动,例如:https://rwcbook.github.io/hal-forms/

IETF 草案的下一个合乎逻辑的步骤是使其成为真正的 RFC,永不过期。不幸的是,我认为这不会很快发生,因为人们没有足够的兴趣来推动它。

也不是没有其他选择。一些例子:

  • 警笛
  • Collection+JSON
  • JSON-LD(可能带有 Hydra 扩展)
  • JSON 超模式

但从所有这些来看,HAL 可能仍然是采用最广泛的。