摘要:在现代 Web 开发领域,工具的更新迭代频率令人眼花缭乱,尤其是前端技术的更替更是“日新月异”。然而,轻量级前端框架 htmx 选择了一条独特的道路:追求稳定性与长期可靠性,希望成为像 jQuery 那样经得起时间考验的工具。值此新旧交替之际,htmx 团队发
在现代 Web 开发领域,工具的更新迭代频率令人眼花缭乱,尤其是前端技术的更替更是“日新月异”。然而,轻量级前端框架 htmx 选择了一条独特的道路:追求稳定性与长期可靠性,希望成为像 jQuery 那样经得起时间考验的工具。值此新旧交替之际,htmx 团队发文分享关于 htmx 的未来规划,它不仅致力于保持 API 和实现的高度一致性,还通过“少即是多”的理念,减少对核心库的频繁变动。对于那些希望构建“百年 Web 服务”的开发者而言,htmx 正试图成为一款坚实可靠的选择。
作者 | Carson Gross, Alex Petros 责编 | 苏宓
出品 | CSDN(ID:CSDNnews)
起源
htmx 最初以 intercooler.js 的形式诞生,这是一款基于 jQuery 的库,通过在 HTML 中添加属性,赋予页面动态交互能力,无须依赖大量 JavaScript 代码。
对于不熟悉的开发者来说,jQuery 是一个经典的 JavaScript 库,在浏览器实现非常不一致且 JavaScript 还没有现在许多方便的 API 和功能的年代,它极大地简化了跨平台 JavaScript 的编写。
如今,许多 Web 开发者将 jQuery 视为“遗留软件”。尽管我们尊重这一观点,但事实上 jQuery 目前在所有公共网站上的使用率高达 75%,这一比例远超其他 JavaScript 工具。
为什么 jQuery 一直如此流行?
我们认为有以下三个技术原因:
1.极易集成到项目中:只需一个无依赖的简单链接即可。
2.API 一致性:自诞生以来,jQuery 保持了高度向后兼容性(intercooler.js 可以兼容 jQuery v1、v2 和 v3)。
3.自由灵活的使用方式:作为一个库,开发者可以按需使用它的部分功能,其余部分完全不干扰应用程序的结构。
htmx 是新的 jQuery?
当然,将 htmx 比作“新的 jQuery”似乎显得狂妄,但这是 htmx 团队努力追求的一个目标。
我们特别希望能继承 jQuery 的这些技术特点,使 htmx 成为 Web 开发者工具包中低成本、高价值的补充。Alex 曾探讨过“构建 100 年可持续服务”的概念,而我们希望 htmx 成为这种场景下的有力工具。
使用 jQuery 构建的网站可以长期在线,我们希望基于 htmx 构建的网站能够具备同等甚至更好的稳定性和持久性。
未来,htmx 的开发将以现有用户为核心。
如果你已经是 htmx 的用户,或者正在考虑使用它,这意味着什么?接下来我们将深入探讨。
稳定性即特性
作为 htmx 的维护团队,我们将致力于确保 htmx 在 API 和实现层面的高度稳定性,这包括接受并记录当前实现中的一些特性和“怪癖”。
升级 htmx(即使是从 1.x 升级到 2.x)时,用户应能期望其原有功能继续正常运行。
在适当情况下,我们可能会引入更好的配置选项,但不会改变默认行为。
“不新增功能”即特性
我们将逐渐倾向于拒绝在核心库中添加新功能提议。
开发者不应因为版本更新感到压力,除非是为了修复某些特定的错误。同时,2025 年写的 htmx 代码应该与 2035 年甚至更远的未来所写的代码看起来非常相似。
当然,如果浏览器引入了新的功能,我们会考虑支持。例如,目前我们在支持的浏览器中已使用了实验性的 moveBefore API。
但大多数新功能将通过 htmx 的扩展 API 实现,我们也会在适当情况下增强扩展 API 的能力。
季度发布
未来,htmx 将大致按照季度发布版本。
htmx 不会引入耗费大量精力的升级流程,也不需要开发者时刻关注新版本的功能变化。如果当前使用的 1.x 版本运行良好,就没有必要升级到 2.x。
推广超媒体理念
htmx 的目标不是成为构建 Web 应用和服务的全能解决方案。它的核心功能是泛化超媒体控件,仅此而已。
因此,提升 htmx 的一个重要方式是改进用户与 htmx 搭配使用的工具和技术。这不仅提升了 htmx 的实用性,而且无需对其本身进行改动。
支持辅助工具
虽然 htmx 为 HTML 提供了一些新工具,但它对构建网站的其他关键部分没有强制性意见。例如,htmx 的核心优势之一就是与任何后端或数据库兼容,并不强制开发者使用特定的技术栈。
在超媒体生态系统中,htmx 已经帮助改进了一些领域,比如模板引擎。我们早期提出“模板片段”(template fragments)可以让部分页面替换更加简单,而当时只有少数模板引擎支持这一特性。
如今,片段支持已变得更为普遍,许多开发者将相关文章视为实现这一功能的灵感来源。未来,我们将继续致力于识别和推广能够提升超媒体开发体验的努力。
撰写、研究与标准化
虽然未来 htmx 本身不会有太大变化,但我们会继续积极推广超媒体的理念。
特别是,我们正在通过 Triptych 项目努力将 htmx 的理念融入 HTML 标准中。理想情况下,htmx 的功能将直接融入 Web 平台,无需依赖额外的库即可实现类似的 UI 模式。
当然,目前写的 htmx 代码将长期可用,但在未来,也许用户将无需引入该库来实现类似的超媒体交互。
Intercooler 的正确性
在 Intercooler 文档的结尾,我们曾写道:
许多 JavaScript 项目的更新频率让人眼花缭乱,但 Intercooler 并非如此。
这并不是因为它“死”了,而是因为它(大部分)已经是对的:它的基本理念是对的,至少目前的实现也足够正确。
这意味着项目不会出现持续的活跃更新,而是更多地进行维护:主要目标是不搞砸它。我们将改进文档、增加测试,并在边缘引入一些小的声明式新功能,但不会进行大规模重写或持续更新。这与软件行业,尤其是前端领域的“疯狂变动”形成了鲜明对比。
我们认为 Intercooler 是一个坚固可靠的 Web 开发工具。
尽管上面第三段的最后一句略显嘲讽,这种思维完全适用于 htmx,甚至更为适合。htmx 作为一款独立软件,汲取了 Intercooler.js 的经验(和教训)。
我们希望 htmx 能以自己的方式,加入像 jQuery 这样的“巨人”行列,成为开发者构建 100 年 Web 服务的坚实可靠工具。
2025 数据库技术展望
【直播预告】
2024 是大模型技术惊心动魄的一年,技术上,Scaling Law 撞墙、预训练终结、真开源 vs 假开源之声不绝于耳,向量数据库、RAG 不约而同地直指数据,大干多模态之时,推理迎来突破。但我们依然困惑良多,比如 GenAI 应用爆发何时到来?Agent 是 AGI 应用的突破口吗?1 月 8 日(星期三)晚 19:30-21:00,CSDN 视频号直播间,欢迎深度交流共同迎接 2025。
来源:CSDN