What I like about Alpine is the behaviour is colocated with the markup, so it lets me use the component-driven approach that I've come to love from React. There are patterns where I fall back on data tags though (tooltips are a good example)