我很開心地宣布 htmx 的 1.0.0 版本 發布了。
htmx 現在已經夠成熟了,我認為它可以作為 intercooler.js 專案的一般替代方案。我不認為將現有的 intercooler 專案移植到 htmx 有什麼強烈的理由。我有一些大型的 intercooler 應用程式,而且近期內不會將它們遷移過去。然而,我推薦新專案使用 htmx 而不是 intercooler。
htmx 是一種不同類型的 javascript 函式庫。它是針對目前以 javascript 為基礎的 SPA 函式庫佔主導地位,以 HTML & 超文本為導向的回應。它是對 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 開發模型。
請享用!