
htmx 是一个扩展 HTML 的 JavaScript 库。根据一篇规划该项目未来的新文章,htmx 背后的团队将优先考虑稳定性而不是新特性,并且多数新功能会通过扩展来添加。
htmx 的创建者 Carson Gross 和 htmx 核心团队的 Alex Petros 表示,他们“倾向于不接受库核心中新提议的特性”,不过在新的浏览器特性可用时可能会考虑这些特性。大多数新功能将通过 html 扩展 API 添加,它们可能来自核心团队或社区。
Gross 和 Petros 称赞了 jQuery,尽管它被视为遗留软件,但 75% 的活跃网站都在使用它,远远超过其他所有 JavaScript 库。他们说,原因是它的 API 很稳定,只需一个链接就可以很容易地将它添加到项目中,而且它不会干扰其余代码。他们希望 htmx 能够通过遵循这些原则取得类似的成功。
Gross 和 Petros 引用的 jQuery 统计数据也提到了 htmx,但仅将其列为市场份额不足 0.1% 的微小产品。尽管市场份额很小,但它作为 HTML 核心概念的回归,以及对庞大的 JavaScript 框架带来的复杂性的替代方案而引起了人们的关注。
一项新的 JavaScript 调查基于 GitHub 项目中添加的星星数量,将 htmx 列为前端框架中的首位,在受欢迎框架总榜中排名第六,这是一个重要的信任投票,尽管 GitHub 星星并不总是可靠的指标。

流行的 JavaScript 框架,以授予其 GitHub 存储库的星星数量为衡量标准
尽管人们对该项目及其理念充满热情,但一些开发人员发现它的实现有些缺陷。一位开发人员从 htmx 迁移到了 Basecamp 的 Hotwire,他指出 htmx 库是“一个包含 190 个顶级函数的 5k 行文件,这意味着很难快速掌握它。” 其中一个后果是很难测试更改的影响。 “这种单一文件我们选择的开发体验,它既有成本也有好处,”Petros 回答道。
另一个值得怀疑的领域是 htmx 可访问性。“我希望能真正完全了解如何让 htmx 网站良好地兼容屏幕阅读器,”Django 网络框架的共同创建者 Simon Willison 说。
Petros 说可访问性“在 htmx 的愿景内”,并且“基本上可以以向后兼容的方式(首先作为扩展)做到这一点,这与维护策略一致。”
不过,大多数开发人员喜欢稳定性优于新特性的理念,许多人也喜欢 htmx 背后的概念。该库尚未实现广泛使用,但其影响力毋庸置疑。
原文链接:
评论