I Switched From Htmx to Datastar
Posted3 months agoActive2 months ago
everydaysuperpowers.devTechstoryHigh profile
calmmixed
Debate
80/100
DatastarHtmxHypermediaWeb DevelopmentJavascript
Key topics
Datastar
Htmx
Hypermedia
Web Development
Javascript
The author shares their experience switching from HTMX to Datastar, a new hypermedia framework, and the community discusses the pros and cons of both technologies.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
1h
Peak period
142
Day 1
Avg / period
26.7
Comment distribution160 data points
Loading chart...
Based on 160 loaded comments
Key moments
- 01Story posted
Oct 10, 2025 at 2:49 AM EDT
3 months ago
Step 01 - 02First comment
Oct 10, 2025 at 4:12 AM EDT
1h after posting
Step 02 - 03Peak activity
142 comments in Day 1
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 21, 2025 at 6:00 PM EDT
2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45536000Type: storyLast synced: 11/20/2025, 8:14:16 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
I'm seriously keen on trying it out. It's not like Htmx is bad, I've built a couple of projects in it with great success, but they all required some JS glue logic (I ended up not liking AlpineJS for various reasons) to handle events.
If Datastar can minimize that as well, even better!
The server deciding what to replace reminds me of some old (dangerous, I think) patterns like returning actual JS from the server which the client then executes.
But it was a nice pattern to work with: for example if you made code changes you often got hot-reloading ‘for free’ because the client can just query the server again. And it was by definition infinitely flexible.
I’d be interested to hear from anyone with experience of both Datastar and Hotwire. Hotwire always seemed very similar to HTMX to me, but on reflection it’s arguably closer to Datastar because the target is denoted by the server. I’ve only used Hotwire for anything significant, and I’m considering rewriting the messy React app I’ve inherited using one of these, so it’s always useful to hear from others about how things pan out working at scale.
Basically every single web page on the modern web has the server returning JS that the client then executes. I think you should clarify what's dangerous about the specific pattern you're thinking of that isn't already intrinsic to the web as a whole.
Also, custom actions [https://turbo.hotwired.dev/handbook/streams#custom-actions] are super powerfull, we use it to emmit browser events, update dom classes and attributes and so on, just be careful not to overuse it.
Which states some of the basic (great) functionality of Datastar has been moved to the Datastar Pro product (?!).
I’m eager to support an open source product financially and think the framework author is great, but the precedent this establishes isn’t great.
They focus on the practical solutions much more than on the typical bikeshedding.
My intent was to say that hobbyists have a different, refreshing approach to programming and it's technologies that I appreciate.
I had been tracking Datastar for months, waiting for the 1.0.0 release.
But my enthusiasm for Datastar has now evaporated. I've been bitten by the open-source-but-not-really bait and switch too many times before.
HTMX is a single htmx.js file with like 4000 lines of pretty clearly written code.
It purports to - and I think succeeds - in adding a couple of missing hypermedia features to HTML.
It's not a "framework" - good
It's not serverside - good
Need to add a feature? Just edit htmx.js
i am also the president of the local youth baseball program and helped get BigSkyDevCon over the hump
i think you'd be surprised at how little time i actually spend on twitter
https://htmx.org/essays/future/
there are bugs, but we have to trade off fixes against potentially breaking users sites that depend on (sometimes implicitly) the current behavior
this makes me very hesitant to make changes and accept PRs, but i also feel bad closing old issues without really diving deep into them
such is life in open source
My current thoughts lean towards a fully functional open source product with a HashiCorp style BSL and commercial licensing for teams above a size threshold.
Many corporations wouldn't buy licenses and those that would pay for support wanted support for hardware that was 2 or 3 generations old.
Gentle reminder: please encourage your corporation to pay for open source support whenever possible.
if you want to promise open source software simply to attract the mindshare and users who habitually ignore anything that isn't open source, trying to capture financial value may well be infeasible unless some rare confluence of stars lines up for you. the key is in the word "capture" - capturing the value implies making sure it goes to you rather than to someone else, and that means imposing restrictions that will simply piss those same users off.
https://news.ycombinator.com/item?id=9569799
[1]: https://data-star.dev/ [2]: https://data-star.dev/reference/datastar_pro#attributes
It’s not like your exiting use cases stop working past 10 users or something.
They've said that the feature they put in the premium product are the features they don't want to build or maintain without being paid to do so.
That said, the attitude of the guy in the article is really messed up. Saying "fuck you" to someone who gave you something amazing for free, because he's not giving you as much as you want for free -- it's entitled to a toxic degree, and poisons the well for anyone else who may want to do something open-source.
For such reasons, The Economist style guide advises against using fancy language when simpler language will suffice.
I don't really have much of a response beyond this.
You're of course free to do it, just as I'm free continue to use other products which do not do this.
Seems to fit in with your world view better and then I can just leave those people high and dry with much less concern!
You're not owed these people's time.
If the point is good stewardship of the product, deleting features that users clearly need only to replace with a for-pay version stinks possibly only slightly less than deprecating features users clearly need and then replacing with nothing. Both of these things mean your product sucks.
For a proper way this would work, you the user would contribute your time for those features so you don't overburden the maintainer, but people like you won't and so this is where we're at.
I'd rather avoid burnout (which will kill a project entirely) and lose a few folks like you.
Sure, if you're up front and honest from the beginning then some users will do that, the majority are likely to go for other offerings which don't suffer this problem. Vanishingly few users are going to be cool with features disappearing and then reappearing later on with a price tag attached, which is the scenario we're talking about.
In reality, 99.9% of the users are going to be using whatever free thing is available and your project will live for just about as long as you personally care about it. Rightly or wrongly, the maintainer's work/life balance isn't on the forefront of your mind when you're looking at npm packages, no amount of grandstanding will change that.
I dont know what world you live in where you can be entitled to something you dont pay or contribute to.
They can do whatever they want to ensure their project works and frankly once again the projects dont need people like you. You’re not that important or special at all, certainly less so than the people building things. Like I get that you really think you are it’s dripping from your comments, but you’re not.
And to be clear this was a discussion among their community it wasnt a sudden thing so your entire premise is wrong.
Bit like Pydantic. It's a JSON parsing library at the end of the day, and now suddenly that's got a corporate backer and they've built a new thing
Polars is similar. It's a faster Pandas and now suddenly it's no longer the same prospect.
FastAPI the same. That one I find even more egregious since it's effectively Starlette + Pydantic.
Edit: Add Plotly/Dash, SQLAlchemy, Streamlit to that list.
SQLAlchemy just has paid for support, I shouldn't have included it with the others, I must have confused it with something else.
I don't have a problem, on principle, with paywalling new features. I don't like it, but I don't think it's bad behaviour.
Putting up a paywall around features that were previously free, however, I do take issue with. It's deceptive and it's not common practice. It tricks people into becoming invested and then holds hostage the features that they've become invested in using. Frankly, fuck that.
Interestingly, this article pops up first page if you search "htmx vs datastar".
Thanks for your work, and keep fighting the good fight!
I payed the one off 299$ for a pro license but have yet to find a reason to use any of the pro features.
I was hoping to need them for the google sheets clone [1] I was building but I seem to be able to do it without PRO features.
- [1] https://cells.andersmurphy.com/
As was said by the commenter in another reply, the inspector is actually the bit that makes the Pro version much more appealing but most people wouldn't know from the sidelines.
I thought the devs' emphatic assertions in their Discord NOT to buy Datastar Pro was a psyop dark pattern. I bought it to spite them, and barely use any of it. I want my css-in-js back!
"It is not like $299 is much for me, but I am just a hobbist."
They kind of have a point but everything around it is ridiculous.
We all know they are evil. But you know the most evil thing? That code that was previously released under a free license? Still sneakily on display in the git history like the crown jewels in the Tower of London. Except of armed guard defending the code that wants to be free once more it's hidden behind arcane git commands. Name me a single person that knows how to navigate the git history. I'm waiting. Spoiler alert: I asked Claude and they don't exist.
2. Click on the commit ID
3. You’ll see something like “1 parent: fdsfgsd” – click through to that commit
4. Browse
I mean, it’s a shitty move for sure, but eh.
And your rebuttal is, "Well you can always recover the code from the git history?"
I mean, this is true, but do you think this really addresses the spirit of the post's complaint? Does mentioning they're a non-profit change anything about the complaint?
The leadership and future of a software project is an important component in its use professionally. If someone believes that the project's leadership is acting in an unfair or unpredictable way then it's rational and prudent for them to first express displeasure, then disassociate with the project if they continue this course. But you've decided to write a post that suggests the poster is being irrational, unfair, and that they want the project to fail when clearly they don't.
If you'd like to critique the post's points, I suggest you do so rather than straw manning and well-poisoning. This post may look good to friends of the project, but to me as someone with only a passing familiarity with what's going on? It looks awful.
Yet, surely, this could just be toggled with an env var or db setting or something? if dev, include pro and inspector component. If prod, use free version (or custom bundle that only has what you need)
Most people using Datastar will not necessarily be smart enough to fork it and add their own changes. And when Datastar makes a new release of the base/free code people will want to keep up to date. That means individuals have to figure out how to integrate their already done changes into the new code and keep that going. It's not a matter of if something breaks your custom code but when.
Finally, many people internalize time as money with projects like this. They're spending many hours learning to use the framework. They don't want to have the effort made useless when something (ex: costs or features) changes outside of their control. Their time learning to use the code is what they "paid" for the software. Doesn't matter if it's rational to you if it is to them.
> It was a full rewrite. Use the beta release forever if it has all the tools you need. No one is stopping you.
> Open source doesn't owe you anything and I expect the same back.
You know who else does that? THE DEVELOPER OF HTMX! https://htmx.org/essays/alternatives/
> Some pretty classy comments from them on reddit too:
What is unclassy about those comments? Seem sensible to me...
And react should be paying people to take on its immense performance and maintenance burden
Something about riding the hype train for a fully open and free library you did not create to push your product just feels strange to me.
-> that was pretty freaking cool to read, loved it
also chuckled at the idea of my website making, health professional going all "What the fuck." in front of his codebase.
But I'm now here to defend Datastar.
It's their code, which, up to now, they built and literally given away totally for free, under a MIT license. Everything (even what "they moved to the Pro tier") should still be free and under the MIT license that it was published under originally.
You just decided to rely and freeload (as, as far as I can tell, you never contributed to the project).
You decided to rely on a random third party that owns the framework. And now you're outraged because they've decided that from now on, future work will be paid.
You know the three magic words:
Just. Fork. It.
The rest is plugins, which anyone can write or modify. There's no need for the plugins to get merged upstream - just use them in your project, and share them publicly if you want. You could even do the same with the pre-pro versions of the pro plugins - just make the (likely minor) modifications to make them compatible with the current datastar core.
They're also going to be releasing a formal public plugin api in the next release. Presumably it'll be even easier to do all of this then.
This is nonsensical. Someone did something for free. Fantastic. They used it, successfully, for a production system that enables scheduling for their job.
Nobody took that away from them. They didn't force them to rebuild their tool.
The code is even there, in the git history, available for them.
If OP doesn't like what the devs decided to do with the project, just move on or fork and pay someone to help you fix any outstanding bugs or missing features.
The modern one is what op and lots of younger generation agree upon. It should always be open source and continue to be supported by the community.
The old folks are basically take it or leave it. Fork it into my own while taking the maintenance burden too.
The software was released as a free version, with NO expectation for it to go commercial.
The fact that they switch to a paid version, and stripping out features from the original free version, is called "bait and switch".
If OP knew in advanced, he will have been informed about this and the potential 299 price tag. And he will have been able to make a informed decision BEFORE integrating the code.
> You just decided to rely and freeload (as, as far as I can tell, you never contributed to the project).
But you complaint about him being a freeloader for not contributing to a project. What a ridiculous response.
I feel like you never even read the post and are making assumption that OP is a full time programmer.
Datastar can do whatever they want, its their code. But calling out a *bait and switch* does not make OP the bad guy.
It sounds like your are the dev of Datastar...
Let me give one piece of advice. Drop the attitude because this is not how you interact in public as the developers of a paid piece of software.
You can get away with a lot when its free/hobby project, but the moment you request payment, there is a requirement for more professionalism. These reactions that i am reading, will trigger responses that will hurt your future paycheck. Your already off on a bad start with this "bait and switch", do not make it worse.
I really question your future client interactions, if they criticize your product(s) or practices.
> I hope your version is better!
No need for Datastar, my HTMX "alternative" has been in production (with different rewrites) over 20 years. So thank you for offering, but no need.
I have to be honest, I dont see what's wrong with it.
They were accused of bait and switch, which is not even half true. Old Pro code is still available under MIT. Newer version charges more. That is it.
I did read the post. I know OP not a programmer. And that makes it even worse: OP has the audacity of saying they "make no money from the project" while it being a scheduling tool for their presumably plenty money-making clinic.
It would in fact be less shocking if they were a programmer doing a side project for fun.
This piece is not a rational, well tempered article. Is a rant by someone who just took something that was free and is now outraged and saying fuck you to those who made their project possible in the first place, not even understanding how licenses work or even being aware that the code they relied on is still there, on github, fully intact, and available for them.
This sort of people not only want to get it for free. They want their code to be maintained and improved for free in perpetuity.
They deserve to be called freeloaders.
The “outrage” is literally just people saying they’ll use a different project instead. Why would they ever fork it? They don’t like the devs of datastar they don’t want to use it going forwards. Yes the developers are allowed to do what they want with their code and time, but people are allowed to vote with their feet and go elsewhere and they are allowed to be vocal about it.
https://www.youtube.com/watch?v=vagyIcmIGOQ&t=20017s
There is a saying in my language which translates: give someone a hand and they'll take your whole arm.
I am confused.
Nothing wrong with people making money on their software but you need to make it clear from the start, that it will be paid software and what price range.
Bait and switch is often used to get people to use your software, you spend time into it, and then if you need a Pro feature, well, fork up or rework your code again. So your paying with your time or money. This is why its nasty and gets people riled up.
Its amazing how many people are defending this behavior.
Is the problem thar one needs to fork / maintain the code from now on? Is the problem that one wants free support on top of the free library?
Bait & Switch. They're in their right to do it, but it's a bad move, and nobody should use their project^M^M^M^Mduct anymore.
Anyone have a link for this?
https://data-star.dev/
220 more comments available on Hacker News