文章摘要
作者原本承诺htmx不会有第三个版本,但暗示可能会推出第四个版本。他通过开发fixi.js项目深入了解了JavaScript的fetch()和异步功能,考虑在保持API稳定的前提下,利用这些新特性重构htmx的内部实现以简化代码库。
文章总结
HTMX 4.0:全面拥抱fetch()的革新
作者:Carson Gross
发布日期:2025年11月1日

尽管作者曾承诺不会推出HTMX 3.0,但通过技术性调整,现在宣布将直接发布HTMX 4.0版本。这一重大更新源于作者在开发fixi.js过程中对JavaScript异步特性的深入理解,决定对库内核进行彻底重构。
三大核心改进
全面采用fetch()
弃用历史遗留的XMLHttpRequest,改用现代fetch() API。虽然事件模型会因此改变,但多数现有功能将保持兼容。显式属性继承机制
通过:inherited修饰符明确声明继承关系(如hx-target:inherited="#output"),取代1.0/2.0版本隐式继承带来的维护难题。历史记录管理革新
取消本地DOM缓存策略,改为网络请求获取历史内容。虽然会提供缓存扩展,但默认行为更接近传统网页导航模式。
保留的核心特性
所有基础功能(hx-get/hx-post等属性)保持不变,确保大多数项目可平滑升级。新版本重点在于简化代码结构,提升长期可维护性。
重要新增功能
- 流式响应与SSE:基于fetch()的流式API实现渐进式内容更新
- 内置DOM变形算法:集成idiomorph库实现智能节点更新
- 局部模板支持:引入
<partial>标签简化复杂内容替换 - 增强视图过渡:建立动画队列防止视觉冲突
- 标准化事件命名:采用
htmx:<阶段>:<系统>的清晰命名规则
升级策略
- 2.0版本将获得永久维护支持
- 提供兼容性扩展还原旧版行为
- 分阶段发布计划:2026年初发布正式版,2027年设为默认版本
当前alpha版本已开放测试,开发者可通过four.htmx.org跟踪开发进展。这次革新旨在保持HTMX简洁哲学的同时,通过现代JavaScript特性提升开发体验。
"当事实改变时,我改变想法。你呢?" ——保罗·萨缪尔森/约翰·梅纳德·凯恩斯
评论总结
总结评论内容如下:
对长期支持的认可
- 用户赞赏htmx承诺长期支持旧版本,避免频繁升级压力。
- 引用:"htmx 2.0 will be supported in perpetuity...if htmx 2.0 is satisfying your hypermedia needs, you can stick with it"
- 引用:"This is commendable, specially during times when libraries...aren't afraid of breaking changes"
功能改进建议
- 用户指出htmx的JSON解析功能不如jQuery方便。
- 引用:"the hx-on::after-request...does not automatically parse JSON content types like with e.g. jQuery.ajax()"
- 引用:"people simply questioned why I would ever want to do that"
版本命名争议
- 用户对跳过3.0直接发布4.0的做法有不同看法,有人认为幽默,有人质疑开发者的决策。
- 引用:"technically correct.. the best kind of correct"
- 引用:"Why would someone use software from such kind of developer is beyond my understanding"
与其他框架比较
- 部分用户认为Datastar功能更强大、API更灵活,质疑htmx的价值。
- 引用:"why use HTMX when it really seems like (a heavier) Datastar-lite?"
- 引用:"I've come to prefer it...I've come to appreciate the power of SSE streaming"
技术细节讨论
- 用户对属性继承的术语使用提出疑问,认为表述不够准确。
- 引用:"So confusing. I'm pretty sure it should be 'inheritable'"
- 引用:"'inherited' on an attribute means the attribute is inherited"
开发进展反馈
- 用户指出4.0 alpha版本链接不可用,期待稳定版发布。
- 引用:"the version 4 alpha doesn't appear to be available"
- 引用:"Looking forward to porting my demos...once V4 is stable enough"
正面评价
- 部分用户肯定htmx的技术设计和文档质量。
- 引用:"very clear technical writing and I learned quite a bit"
- 引用:"Nice to see HTMX innovating again"