本文作者是360奇舞团开发工程师
htmx
让我们先来看一段俳句:
javascript fatigue:
longing for a hypertext
already in hand
这个俳句很有意思,是开源项目htmx
文档中写的,意思是说,我们已经有了超文本,为什么还要去使用javascript,javascript的繁琐,让人感到疲惫。
目前前端框架很多,但是很多时候我们只是想要一个简单的功能,比如点击一个按钮,然后发送一个请求,然后更新页面的某个部分,这个时候,我们就不需要一个复杂的前端框架,只需要一个简单的工具就可以了,这个时候,htmx
就是一个很好的选择。
htmx是什么
先来看HTML
,HTML
的优势在于,它是一个声明式的语言,我们可以直接在html中声明我们想要的效果,而不需要去写js代码,这样就可以减少很多的代码量,同时也可以减少很多的bug。而且,html是一个很简单的语言,很多人都可以很快的上手,这样也可以减少很多的学习成本。
我们先看看HTML
的一些限制:
仅
<a>
和<form>
发送HTTP请求仅
click
和submit
事件触发HTTP请求仅
GET
和POST
方法可以用传统的前端开发中,页面的更新通常是通过重新加载整个页面来实现的
htmx
让我们可以在html中使用属性直接访问AJAX, CSS Transitions, WebSockets和Server Sent Events,用超文本语言来构建现代用户界面。还有一个消息,2023年6月,htmx
进入了github加速器扶持的项目的第一序列。
htmx
就是利用了这些HTML
优势,解决了HTML
的这些限制,让我们可以在HTML
中直接声明我们想要的效果,而不需要去写js代码。
htmx 如何实现的
htmx
的实现原理是通过 AJAX、HTML5 和