我很高兴地宣布 htmx 的 1.0.0 版本 发布。
htmx 现在已经足够成熟,我可以推荐它作为 intercooler.js 项目的通用替代方案。我认为没有充分的理由将现有的 intercooler 项目移植到 htmx。我拥有几个大型的 intercooler 应用程序,并且不会很快将它们迁移。但是,对于新项目,我可以推荐使用 htmx 而不是 intercooler。
htmx 是一种不同类型的 javascript 库。它是一个 HTML 和超文本导向的回复,针对当前以 javascript 为主的 SPA 库的支配地位。它是对 Tom MacWright 的问题的回应:“如果不是 SPA,那是什么?”
正如 首页所述
<a>
和 <form>
可以发出 HTTP 请求?click
和 submit
事件可以触发它们?HTML 导向的 Web 开发被抛弃,不是因为超文本是一个糟糕的想法,而是因为 HTML 没有足够的表达能力。htmx 旨在解决这个问题,并允许你使用 Web 的原始超文本模型来实现 许多常见的现代 Web UI 模式。
htmx 起源于 intercooler.js,早在 2013 年。
在今年的 四月,我开始着手开发一个独立于 jQuery 且改进版本的 intercoolerjs,并将其重命名为 htmx。我选择重命名该库是因为,在开发 intercooler 的过程中,我开始意识到 intercooler 和 htmx 正在完成 HTML 作为超文本,而不仅仅是一些奇怪的、特立独行的 javascript 库。
在 五月,htmx 达到 0.0.1 版本。此后不久,我有幸与 Ben Croker 取得联系,他对 htmx 感兴趣,希望将其作为其新的反应式库 Sprig 的基础。Ben 愿意成为 htmx 的早期采用者,并推动该库比预期更快地发展。
我很幸运地得到了来自许多贡献者的帮助和反馈,他们在 GitHub 和 Discord 上积极参与。我特别感谢 Ben Pate、Robert Schroll 和 Alejandro Schmeichler 为贡献代码、新想法和讨论。
我要感谢 Devmode.fm 邀请我参加 关于 htmx 的讨论,并帮助我清理了所有“呃”和“嗯”。
最后,我要感谢 Justin Sampson,他花了很多时间向我解释 REST 和 HATEOAS,以及 intercooler(现在是 htmx)如何融入 Web 开发的这种模式。
尽情享受吧!