To each their own I guess.
As for productivity, maybe it doesn't matter on tiny projects or short-lived one-man projects, but for anything else I don't see how you can argue it. You basically can't refactor reliably without static types, you can't navigate the codebase quickly without static types, and it makes it more difficult to understand other people's code without static types. Sure it might take slightly longer to write in the first place but that is easily outweighed by all those other benefits. Like, by an order of magnitude.
It sounds like you are one of those "well I don't make mistakes" developers.
What a great interview test. I’d absolutely not hire someone that can’t do that. It also doesn’t make any sense. That’s like saying entire codebases without types can’t be worked on. Huh? Those are basic things you can do in any language.
This Typescript anointing has got to die. It’s lame, and most of you overuse it even when it’s appropriate.
Don't say "but tests".
At least, that's my experience and I don't like it when people say that everyone must absolutely use TS when they don't know anything about your situation.
Also, unless I'm misunderstanding it, this revolves a lot around the backend returning HTML to do backend-as-frontend, which given my previous experiences with the concept, I wouldn't want to touch with a 10ft pole. When you consider users with extremely bad internet connections (there are still people on dsl/older satellite/2G), having to make more requests to the backend that return larger blobs of html (as opposed to fewer requests that return JSON when it is relevant) will result in a significantly more degraded user experience
Please don’t reinvent things.
→ This is the way the Web used to work in the era of 56kbps modems (also, with ten levels of "<TABLE>" for layout).
Though, it is certainly possible to cache pages since most sites do not need persistent state - it's just ephemeral things like toggling a button, linking an input box and another caption, etc...
Though you could run the datastar js sdk from a service worker and if you've synced necessary state to browser storage, you could have your backend there.
Also, for slow connections, compression is very powerful - especially over an sse stream where there's redundant info being sent. Another comment here has links to immense demos and the compression ratios are north of 90%.
Also, slow internet is often also associated with slow devices, which cannot handle the bloat of React, css-in-js etc
Datastar VASTLY simplifies everything while sacrificing essentially nothing in the way of functionality.
Some people write their own websites where they blog (where Wordpress would be enough), some build shops with mostly static content that has to load fast but has no real interactivity, others build full-fledged software like Figma/Discord and for the true masters, the DOM is a prison and only <canvas> coupled with GPU-accelerated computations will do.
Obviously htmx and it's siblings are nice for blogs, docs and shops. You don't build a "software" level website with it.
data-animate - Animates element attributes over time.
data-custom-validity - Adds custom validity to an element.
data-on-raf - Runs an expression on every animation frame.
data-on-resize - Runs an expression on element resize.
data-persist - Persists signals in local storage.
data-query-string - Syncs query string params with signal values.
data-replace-url - Replaces the URL in the browser.
data-scroll-into-view - Scrolls an element into view.
data-view-transition - Sets view-transition-name styles.
Prices are $299 for a solo dev and $999+ for teamsAlso, I can't see this approach working. Getting enterprise adoption of a front end framework is almost impossible outside of React, let alone paying for a niche one, and the "contact us" approach is a non-starter.
If the core of the framework fits what you need, you could write those additional plugins yourself, rather than relying on the official "pro" ones. My understanding so far is the plugin architecture is intentionally designed for this usecase, so you aren't beholden to the official maintainers to add/tweak features for your specific usecase.
This makes the investment in the tool a lot safer, because you can always swap out pieces that don't fit your usecase, rather than start from scratch with a new framework.
In an enterprise setting, I don't believe the cost alone will be the factor that drives the decision. It'd be weighing up the value of the framework (e.g., UI framework/programming language agnostic stack, simpler architectures, delivery speed, performance, cost of using the framework on users) against the license cost.
> Getting enterprise adoption of a front end framework is almost impossible outside of React, let alone paying for a niche one, and the "contact us" approach is a non-starter.
Two questions on this:
1. Why do you think it's impossible to get org buy-in? 2. Why do those same orgs pick frameworks like Next.js, whose full benefits can only be realized with sophisticated and paid infrastructure?
>> or just to support people who have invested many thousands of hours into making a genuinely innovative framework, and given it away
I've never seen a corporation do this even with projects that don't try and encourage like here.
If you're implying they'll only pay when they've seen the value of the product, then the non-pro part of the framework is incredibly feature-rich and can easily do that.
[1] Time-stamped it for convenience: https://youtu.be/eMIB4Bkl08U?si=IfTslvZoGXVbou0w&t=1270
In the case of a web framework, that choice is a bit difficult. But if the software is fully functional for the large majority of users, then charging for niche features, or those that are actively discouraged, sounds like a fair approach to me.
And the framework and docs are so small and simple, that you can read the entire site in an hour or two, in which time you would have noticed the pro features and pricing many times.
I wasn't aware that they are a non-profit organization and agree that my remark doesn't necessarily apply to them since they're not a business. If the pro subscription helps them to maintain the open source project without making any profits, then that seems alright to me.
No matter how you look at it, though, any business model that enables users to use open source software is a much better option for users than any proprietary software. There's no comparison. Given the choice, I'd much rather use OSS that is eventually rugpulled or enshittified than proprietary software, which carries those same risks, while also restricting my freedoms from the get-go, and having additional risks I might not be aware of at all (exploiting my data, security issues, etc.).
Also, they intend for v1, which will be released soon-ish to be essentially the final version of Datastar. There wont be a need for much further development. So there's minimal risk of "rugpull" or even abandonment.
I do think that they should be paid for this work, and be able to sustain themselves from it. So I wouldn't be against it being a business, or the project having a subscription model. The idea of open source being gratis, and products in general being "free", has done enough harm to the world.
My problem with this business model is that it has a chilling effect on open source contributions to the project, because it incentivizes the core maintainers to not accept community contributions that overlap with the paid features.
Moreover, ALL of the features are "plugins" - there's nothing stopping anyone from building and sharing their own. It is actually encouraged. In fact, in their next release they'll be releasing and documenting some sort of public API for plugins. Not sure exactly how it will differ from the current form though, since you can already make your own plugins.
They also intend to have some sort of free, open-source "marketplace" for community-built web components, based on their upcoming Rocket web component and Stellar css framework. You would just need to have the Datastar pro license to be able to use any of them.
I can see how this final part might be criticized, but it does seem quite fair to me. Sustainable open source is a big problem - in recent months ive had some important fully-open source dependencies disappear - even ones that were backed by well-funded companies. Moreover, Datastar is registered as a 501c3, and they really don't intend to "make money" from all of this. Its just to pay the bills, travel to conferences etc...
They're very reasonable people and open to all discussion in their discord. Im sure that whatever concerns you still have could be explained quickly if you went there.
In fact, i just posted there about this thread and how its overflowing with nonsensical complaints about how there's no link to or mention of Pro on the homepage - they said sure, we'll add a link.
This model of using deception to hide costs isn't exactly "exploring". It's tried and tested.
> plaster a big sign on the landing page stating that this framework ALSO contains pro features that you have to pay for?
Yes.
I for one don't enjoy being on the receiving end of these marketing dark patterns and manipulation tactics.
> I for one don't enjoy being on the receiving end of these marketing dark patterns and manipulation tactics.
hahaha
Yes!! That's table stakes. It's the bare minimum needed to not be considered malice.
Anyways, constructively, they should add a usual pricing page with a nav for that at the top of the landing page.
It makes it clear that something is priced, right on the landing page.
In the pricing page the cards better make the costs super clear.
It's weird to call them out as indecent and deceitful for not actively marketing features that they really don't think you need. Even when you think you need it, they've actively encouraged people to analyze their problems to identify if it's a real need or a gap in hypermedia fundamentals knowledge.
Also, the top nav has a Pro page that has what you're looking for.
The common thing to do today is put a "pricing" menu item at the top right. That'd be fine.
https://data-star.dev/star_federation#nonprofit-organization
Moreover, they actively dissuade people from even buying the pro license because they are quite emphatic that most people/sites do not need any of these features. If you do need them, then it's a small price to pay for the functionality, as well as to make a modest amount to cover costs for their non-profit org. God forbid someone optionally charge something for years of effort that they have given away for free...
It also comes with an immensely useful "Inspector" that shows all the signals, sse events etc, and will soon come with an immensely streamlined web component framework (Rocket) and css framework (Stellar).
I bought the pro license mostly just to support them, but the inspector is great and I look forward to checking out rocket and stellar.
Frankly your response seems very hostile and makes me wants to avoid them more.
Once again, they aren't charging anything. Pay them if you want some largely-unnecessary features, or if you just want to support years of hard work and innovation. That's what I did.
But you do you.
> But you do you.
- seems like a truism. I get the feeling it's meant to be read as "I give up. You can keep whatever wrong viewpoint you have".
I concede that my original comment here was somewhat hostile, but only really the first line. And it wasn't even all that hostile - especially when the rest of the comment was really just informative and positive about datastar.
And, moreover, is standing up to poor behaviour - even if done in a somewhat hostile/confrontational way - really such a bad thing? It seems quite clear to me that they were not communicating in good faith - they didnt come to discuss features, philosophy about open source sustainability, or actual reality of the messaging on the site and their discord server.
Instead THEY are explicitly saying that Datastar's devs are being dishonest in some way for having a pro license (which, again, they quite clearly say most people should not buy) as a way to bring a modicum of sustainability to something that theyve dedicated years to and given 99% of the value away for free.
They could have said "This looks interesting, but I noticed that there's a pro license if you want to get some features. Are these features necessary? Is this price reasonable? Should we be against there being a 501c3 behind this? etc..."
But they did none of that. I think that all that a reasonable person can really conclude is that they're either the disdainful sort of person who thinks all code should be free for everyone, or that they are just trolling, or perhaps even that they dont like how datastar is challenging the status quo of webdev.
Hence, "you do you" - you interpreted it exactly as I intended.
Plenty of other open source projects make money without attracting this kind of negative feedback. It's curious to me that you suggest everyone is intentionally being negative or malicious here, instead of looking at why the project caused such a response.
Moreover, it is quite common for there to be pro versions of libraries these days - tailwind, all sorts of component libraries, etc..
> Plenty of other open source projects make money without attracting this kind of negative feedback
We dont seem to be living in the same reality. In mine, maintaining open source projects is a nearly-completely thankless, profit-less endeavour. It is a rare exception that someone can earn a living from it. And datastar's devs have zero expectation that they'll do so, even with this model - hence it is registered as a 501c3, and the funds will cover things like travelling to conferences to talk about it.
Or if you want to be altruistic (as you keep referring to nonprofit) make it free and solicit donations/patreon.
The current approach is certainly a new one and I am interested to see if it pays off.
I guarantee the fact that I referred to a project with an anti Amazon clause as open source will piss some of the off so much that they’ll comment here about it.
you: "How dare you!!!!!"
The conversation on this post is now centered around the fact that they have some premium features for sale.
Edit: Now there’s another post on the front page of HN accusing the datastar team of being greedy.
Did you forget one of those "full disclosure" thingies at the top of your comment?
In any case, I didn't see anything interesting about it, even less so after reading OP's useful comment on the pricing, but even if I did I would never intentionally use or give money to a company that does astroturfing campaigns.
And it's not a company, it's literally 3 guys who have a 501c3 non profit, and actively dissuade people from buying the pro license because YAGNI.
Hold up, so then why is pasting THEIR documentation into a comment weird?
lol. This is an absolutely insane response to someone simply informing the commentors that there is a price involved in the pro package.
I don't believe it is the right way to play. A Pro support would have been better. Plus the fact that the licensing prevent to use the Datastar Pro in any kind of open-source project. Very strange move.
Which is priced similar to Tailwind UI, which people are fine paying for.
These three demos each run on a 5$ VPS and don't use any of the PRO features. They have all survived the front page of HN. Datastar is a fantastic piece of engineering.
- https://checkboxes.andersmurphy.com/
- https://cells.andersmurphy.com/
- https://example.andersmurphy.com/ (game of life multiplayer)
On both the checkboxes/cells examples there's adaptive view rendering so you can zoom out a fair bit. There's also back pressure on the virtual scroll.
Right but this says “bring your own backend” in big letters on the splash page. So surviving HN isn’t really something Datastar is doing here.
He shared examples of some immensely dynamic apps that are running on a potato and survived HN, showing that this simplifies things greatly and can scale. Hypermedia-first is a very viable, and simplified, approach.
Surviving, or not surviving, a traffic influx is a backend restriction.
OP is a talented developer that wrote a backend capable of surviving a ton of traffic. Other developers on the internet have written backends that cannot sustain a ton of traffic.
The choice of frontend framework is separate from both. You can write a performant web app that uses React. I’m sure you can write one that falls over immediately with Datastar.
I think for me the key thing is Datastar lets me keep most of my state on the backend, which makes the backend much simpler to write. It also lets me do immediate mode streaming of the HTML, which again is non trivial in something like react without a lot of added complexity.
So it's an enabler in that sense. But, yes it's totally possible to write a backend that falls over with datastar like any technology.
I also agree, that Datastar does benefit from backend experience and if you don't have that experience it can to some extent feel like:
"Draw some circles. Now draw the rest of the Owl".
But I think that the real point that /u/andersmurphy was trying to convey was that hypermedia is VERY performant because immensely talented C++ engineers have optimized precisely this, for decades. The notion that "frontend" devs have that the DOM can and must be managed via JS is simply ridiculous, and is one of the primary things that datastar and hypermedia approaches in general are trying to combat.
In fact, he openly states elsewhere how the sites' backends are actually done in a deliberately dumb, unperformant way, where the backend streams the ENTIRE DOM with each sse message, which gets morphed into the DOM. He could have done something more granular, like streaming only the checkboxes that have changed, but it wasn't at all necessary because the dumb way worked well.
Moreover, the SSE streams benefit from immense compression ratios because somehow the compression window overlaps across messages. Something like 95+%, IIRC.
The idea that UI state should be managed locally is ridiculous now?
Anyway, browsers are built specifically to render HTML. And html/hypermedia is specifically meant to manage and transfer state. The web has lost its way. If you want to read more about this, this free book is a great start: https://hypermedia.systems/book/contents/
Or the essays at HTMX https://htmx.org/essays/
Good luck to you
I read about approaches like this and I still don’t see the reason to do them, beyond “because you can” and “JavaScript is bad”. The separation of data and display logic between server and client is a sensible separation of concerns. It’s the way any non-web solution does it and I don’t really see what would make the web so special that a different approach is worth it.
that's fine that you dont see any reason to use the web as it was designed to be used. But I dont see any reason for me to engage any further with you.
The problem with JS heavy frontend is you now have TWO applications. The real application, on the backend, which makes all the decisions, and the frontend application.
You have TWO states which are being mutated independently that you now have to sync.
Please, I'm begging you to share this "well documented" fact that most frontend frameworks barely "handle" on the simplest of sites.
https://infrequently.org/2024/11/if-not-react-then-what/ (there's MUCH more at this site as well)
I'm also not doing anything fancy on the backend, I'm using a dynamic language not known for it's speed (Clojure). Really, most of the work here is being done by SQLITE, batching, and brotli compression, which you can all use from any language.
I will concede that languages with access to real threads (GO, JAVA, C# etc) do better out of the box for this kind of CQRS architecture.
It also sticks to web standards as closely as possible (whereas htmx is trying to propose it's api as web standards).
It also has SSE, idiomorph, and more baked in by default whereas those are optional extensions in htmx.
They're also releasing css and web component frameworks/tools soon that look VERY powerful and simple.
Datastar has the potential to completely change web development.
If this paradigm excites you, just use Phoenix, dawg. It's so far ahead, everything else feels primitive.
And God forbid someone try to make open source sustainable by charging for largely-unnecessary functionality and actively dissuading you from buying it - as the devs do regularly in their discord.
And phoenix doesn't work with ANY backend language or framework.
A couple of things on the Phoenix point:
- Requires the adoption of Elixir and Datastar is backend agnostic - Adopting Phoenix feels more suited to greenfield projects, but Datastar is suited for that and brownfield ones. - Websockets vs Server Sent Events has been really interesting and nuanced
The unfortunate disadvantage of Live View is that you need to write Elixir. A lovely language, but it would be hard to sell in company that use only <SOME_LANGUAGE>. The hypermedia libraries like d* and htmx can be used with any backend.
Trying to decide whether to merge the threads and/or which of them should 'win'...
Use php, python, rust, or anything else that you want. They all have various approaches to html templating.
[0]: https://www.gomponents.com
[1]: https://templ.guide
The author (Delaney Gillilan) has put a lot of thought into how modern web development should be done from first principles, while leveraging core web technologies like SSE, and eschewing complexity as much as possible. His proposed GoNaDs stack[1] enables some truly impressive web applications. I highly recommend watching this talk[2] to get a sense of what's possible.
I wish the best of luck to the core team and contributors, and hope that this framework, or something like it, disrupts the modern ecosystem of popular web frameworks and stacks.
[1]: https://gonads.net/
And if that isn't enough, he's also on the cusp on releasing a web component framework that puts Lit to shame, AND a css framework that looks equally impressive.
He takes some getting used to, but the guy is a genius and is enormously generous with his time and deep knowledge.
I really do hope that d* gains more traction - the web could be such a better place, just at a time when native apps are literally under assault and censure by app stores and autocratic governments.
In the words of some famous people:
> Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.
> Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
I think Delaney definitely follows these principles, which is refreshing to see in modern web development. The author of htmx, Carson Gross, also deserves a mention.
> And if that isn't enough, he's also on the cusp on releasing a web component framework that puts Lit to shame, AND a css framework that looks equally impressive.
Ah, I wasn't aware of that. I'll keep an eye out for those. I see they're also opposed to Tailwind, which is an absolute abomination IMO. I don't have experience with Lit, but it seemed like a nice abstraction over core Web Components, which feel like a half-baked solution.
Ideally, I want these things to be part of core web technologies, and for web developers to not need to rely on 3rd-party frameworks. Web browsers should be better. Web servers should be better. The entire web development and user experience should be simpler, more secure, robust, etc. But given that large corporations dictate what that experience is like, I'm glad that we have fresh thinking from people who are not already engrained in this system. While the ecosystem catches up, I would use anything they produce, or build my own[1], over using established and popular technologies any day of the week.
> Ideally, I want these things to be part of core web technologies, and for web developers to not need to rely on 3rd-party frameworks.
This seems to be his prime directive. Everything is standards-based. Moreover, if Datastar evolves at all in the future, it'll probably be because the web has improved and made parts of it redundant.
To clarify, he's a big fan of tailwind as well. But thinks that it is solving a problem that doesnt really exist anymore due to modern css. Im excited to see it, because i also think Tailwind is an abomination.
You can read more about stellar css and rocket web components in their respective channels in their discord https://discord.gg/bnRNgZjgPh There's some VERY cool sneak peeks there. You seem like the sort that would fit in very well there
(ps, stellar and rocket are used on their website already. Just read source to look at it)
But theres rocket and stellar channels in their discord where there's sneak peeks. VERY cool stuff https://discord.gg/bnRNgZjgPh
Like no its not.
This is a genuinely cool project and most parts of it is open source and it can run on any language and its interesting that they are looking at a way so that they can fund the development of it in the process as well
Its their project and they are the only ones entitled to really push things the way they want.
It looks cool and I might hack with it in golang. Thanks a lot for your work.
One minor feedback I want to share is that although I don't mind having a charge for things, 299$ especially in my country is a seriously lot of money and I think that some of these might be needed by me if I go full in on it but I genuinely can't afford even the single tier one.
Could the non profit atleast have some dynamic pricing for all countries sort of like steam? And/or donating to people.... like I mean genuinely no shade whatsoever at the datastar team but animation etc. are already available in sveltekit for free and I don't want it for free but I just genuinely can't afford it here...
Another suggestion could be to lean very heavily on the entreprise who can afford such things much rather easily or maybe even more and maybe you/team can lower the price for solo so that solo devs can try things out and not be worried for 299$-ish y'know?
Deep respects for the project, Its another tool which is mostly free so the community's reaction is very weird for that...
But if I can be genuinely honest, I am saying this as a guy who has never paid any community/anything online but I would for the first time genuinely sponsor the project for 5-10$ (I know it ain't much but that's all I am comfortable with donating as a teenager right now)
Can you please charge atleast the solo level to atleast be the price of the silksong? I don't know but I will try the project out as it looks super cool
$5 doesn’t cover the cost of you filing a single support ticket.
Is there some middle way that I could use these datastar attributes/paid offerings via lets say 5$ but I wouldn't get support from the team itself.
I think that they might have a discord server as well and so I am more than okay to take support from the community itself if I can be honest...
Simply because like me and others, we simply can't pay 299$ when we don't require support.
Could another tier be created that allows people to use it but just without any official support in the sense that maybe you could create github issues or something about it but don't expect mission critical of sorts...
I hope you can see things from my perspective as well & I know some companies / projects which also do something similar where they offer support seperately / at a higher price but using the product itself doesn't cost you / costs you very little and you can always use unofficial-ish help.
What are your thoughts? Do you think that datastar could integrate something like this?
- Some jurisdictions require some level of warranty, extended refund periods, or limit your ability to avoid liability for product defects.
- You need to spend time doing research to set prices for each country or region.
- You need to combat fraud from people trying to buy your product using a VPN from low cost regions.
- This one is a big one. Chargebacks tend to be higher from low cost of living countries. Payment processors will drop you if your chargeback rate gets too high. Risking a $25 chargeback fee and being dropped from your payment processor for $5-10 payments is often not worth it.
- There are only 20 million professional software developers in the world. If you say half of those are web developers and you are phenomenally successful and 1 out of every 1000 web developers in the whole world buys your software. That's 10k sales. At $5 per sale that's $50k revenue across the entire life of the product. $50k for a team of people isn't a financially viable endeavor.
Now, regarding 5-10$ payment, suppose we do a 20$ payment one time donation, they are a non profit so they can definitely do fiscal foundation but I can get it why you might not want to do that
I was discovering more about chargeback and other things like taxation as well
I found polar.sh could be a decent approach to a lot of these problems, just create a polar.sh set account and they have a github thing as well where you can allow access to any git private repo to anyone who pays and even a discord integration so you could have support through there out of the box
I think the same can be done through patreon or the likes as well from what I know
all I was trying to say was that yes I agree with your comment and I thought about it and the other comments regarding how 5-20$ wouldn't cover support but what if I don't need support, I just want the code and I can take the support through their discord server/like minded people?
I understand, I truly do, currently I read more about datastar, I have come to the conclusion that they are somewhat not necessary in the sense that I can have sse.ExecuteScript(`console.log("Hello from server!")`) and I think that it could be integrated with something like gsap if someone wants to hack through a animation thing without modifying datastar library itself as well
I still believe though that they should atleast give another optional method imo where someone can pay 20$ as an example to get the template of sorts but no support and using something like polar.sh or patreon or stripe with MOR, it should be pretty easy and well they have to realize that there might be people who genuinely can't afford this as well I suppose y'know?
I am genuinely curious what your thoughts are on why/if they can add a 10-20$ tier which just gives access to the code and no (official) support through github sponsors/patreon/polar.sh and the likes?
And maybe if someone needs support but can't afford it, maybe optionally they could ask it into their server so that like minded people could volunteer to help as well in the process?
What are your thoughts?
299 is, indeed, inaccessible for many people. But, the devs live in places where things cost more, so its also a tiny price compared to the relative value that they provide.
I do think that some sort of geo-relative pricing structure would be worth looking into, but how does one even implement something like that? Is there something that makes it all "just work"? I suspect not. Moreover, the devs have already given away so much of their time - it doesnt make much sense for them to invest even more of it into designing a pricing system like this, from which they are going to possibly earn only a negligible amount from. Perhaps this is a problem that you might like to address yourself?
Anyway, the devs are very clear that most people should never need the Pro license. 95+% of the functionality and value is available for free in the open-source library. Use it, enjoy it, learn from it, profit from it!
I think it is very unlikely that Datastar would implement something like this - but just as a matter of limited time, rather than lack of empathy with the situation.
Still, people are welcome to bring it up in their discord - perhaps they will actually do it!
And i say all of this as someone who lives in central america, and am building a nonprofit project for which i have zero funding assistance. I already bought the pro license (which is 60% of my monthly cost of living...), mostly just because i see huge value in it all and wanted to support them.
I had checked literally everywhere including even thinking what if the devs publish it on steam or epic games but that would be weird and steam for example takes 30% cut
I had forgot to check out on gumroad but today I learnt something new thanks to you so thanks!
It seems that the dev of data-star have also commented on this and it would be lovely to see if they could implement this or any other ideas that I or the community is stated, it is nice to hear that they are taking feedback which is really nice!
Stripe?
You can geolocate via IP as a first pass for the frontend, check the card’s country code for the order, and then the billing/shipping/account address if it’s really that important (like when your service has different costs depending on locality).
I’m sure there are services that can handle it for you but it’s so simple to implement price discrimination to whatever threshold you want that I’ve never checked. The hard part was always figuring out the false positive/negative rate and the frontend flow when the different steps disagree on location, but those are edge cases that don’t really matter with zero marginal cost digital goods.
I cannot speak for other people, but here is where I'm coming from:
- There is no mention of Pro on the home page, I only found out about Pro after flipping through the documentation. This comes off as sleazy, like "Look at our cool open-source project", and then after they have you hooked they go "oh, if you want all all of it you gotta get Pro". - Pro is locking genuine features, not just support, video tutorials or code examples. - It is vendor lock-in, if you want to rely on any Pro feature you are now at the mercy of the maintainers. - What make the vendor lock-in particularly problematic is the fact that without Datastar your website will not work. Sure, it does suck if your CI service, test platform or whatever does not work, but as long as you can compile and deploy the code you will survive, even if you have to do it by hand. Not so with a library. - There are no examples of what your are buying. At least with the non-Pro features you can try them out for free without any commitment, but when it comes to Pro you are just taking a blind guess as to whether any of them are what you want. Compare that to the Pro examples Alpine has[1], where you can play around with them in the browser. - I don't know if you get source code, but even if you do you cannot share your improvements with anyone.
Note that I never mentioned the price. The value will vary from person to person, for some it will be unaffordable, for others it will be a great deal (e.g. freelancers who will make the money back within one gig). I got my employer to sponsor Alpine a year ago and they have given more to Alpine than what Datastar are charging for Pro.
For reference, two projects which have non-objectionable Pro versions are Alpine.js[2] and React Flow[3]. React flow even have a link to their Pro page right on the home page.
[1] https://alpinejs.dev/components [2] https://alpinejs.dev/components [3] https://reactflow.dev/pro
So, to me, this feels more like an effort to offer a more affordable solution (in terms of engineering cost) for small-/mid-sized companies, rather than a push to expand the boundaries of the technology. Not a bad thing, but it's just a bit disappointing to see history kinda looping back on itself.
I don't think its going to make me swap from htmx, though. We shall see.
- this would mostly work if the sole consumer of your API is the frontend, since it returns HTML, rather than, eg JSON that would be consumed by a CLI, some streaming tools, clients, etc
- this would not really be suited to some Capacitor app?
[edit: Seems like the model with an open core and some closed plugins could work out fine. If not, everyone's got options. Wishing success for both the D* developers and the users.]
Indeed! Could you do us all a favour and fork the pre-pro plugins and make them compatible with the current iteration of d* pro? They're all like 50 LOC, after all, so should be simple.
There is also https://news.ycombinator.com/item?id=45537372, which I'm trying to figure out what to do with (bear with me... edit: ok, I found a place to merge it: https://news.ycombinator.com/item?id=45536535)
Previously:
Datastar: Web Framework for the Future? - https://news.ycombinator.com/item?id=43655914 - April 2025 (155 comments)
Most web pages I try to build never look right on firefox on android.
I'm on the fence about signals though. They are fine for simple things like individual text form fields or opening closing a drop-down. But my backend is a Kubernetes style API server. And storing a JSON Kubernetes style resource in a signal does not work because of how Datastar implements parsing the structure into child signals. For me it would be better to just be able to turn this off.
One example where it breaks are K8s labels. They are map[string]string and the key is often hostname prefixed. E.g. example.com/label-key. Datastar can't handle these keys at all and the resulting signals are a mess.
I'm aware that I may be using signals not as intended. But something as simple as data-signals-resource="k8sJson" and then data-bind="resource.metatdata.name" is a great way to work. And it works for metadata name. But it doesn't work if any part of the path needs to be an index in a list or a label key in hostname style.
The other thing I find painful about Datastar signals are the magic about how attributes written something-something in HTML become somethingSomething in JS and all all the snake, camel etc. __modifiers. It's just error prone to work with. Not a great experience.
But overall I still stuck with it so far and am happy with the general idea of HTMX and Alpine functionalities implemented as one and using hypermedia as a general approach. Anything so I can avoid the NodeJS ecosystem really.
When a few RCs back the wire format changed, it was quite a laborious update for me, because using Fiber I can't use the Go SDK and implemented my own. But the wire format clearly changed for the better so it was worth it.
I think the developers are on to something and should keep iterating.
Like T3, the critiques usually compare to JS stacks or how non-HTML it looks(!). It just doesn't make sense to them, so... "I know what I must do, instead of looking into this more, make sure I have a fuller picture of this thing, HN NEEDS to know now".
You have every right, of course. But you undermine yourselves as soon as you post - you clearly have not taken any time to understand where it came from, why it is what it is. Your responses are not, say, genuine questions for clarification or helpful critiques. For the most part they are straight out judgements: 'This is just wrong'.
Of course in your minds the front-page MUST provide you all that in under 30secs, yes? Like, the 'hidden', 'real cost' is ON ANOTHER PAGE?! - instead of reading the reasoning behind it and why YOU won't need it.
You don't need to immediately post here - you are not really looking for answers, are you? You could've just read the website and history of Data-
for that?To all the 'clarfiers' here like Delaney, Anders, nchmy, and others, thank you for the comments refuting most of this stuff, it must be tiring.
All the best, An old, grumpy, ex-HyperCard 'programmer'. *You don't need to validate your comment by reply to this, many comments here are valid and you know it.
gregoriol•13h ago
macmac•13h ago
gregoriol•13h ago
macmac•12h ago
palmfacehn•12h ago
nchmy•11h ago
array_key_first•8h ago
Which is weird, because this is (was?) the predominant way to make websites for decades.
sudodevnull•6h ago
afavour•12h ago
array_key_first•8h ago
daeken•12h ago
[Edit: this should've actually been attached to the GP comment. I agree with the parent.]
hasanhaja•12h ago
If you don't like the syntax, that's your preference. But I'm curious to hear why this is "wrong". Since that's a more objective thing, we can discuss it
troupo•12h ago
You have a DSL based on data-* attributes
But then some attributes get this weird syntax-ish extension
Then some of those attributes accept a Datastar expressions DSL: https://data-star.dev/guide/datastar_expressions
So you can have
Which is just bad designjmstevers•12h ago
troupo•11h ago
Since they have a full "Datastar expression" language, I'd just expand that. Then you wouldn't need these weird constructs:
jmstevers•11h ago
By expanding the "Datastar expression" language, do you mean a compiled language or moving all the expressions into JS files or something else?
troupo•9h ago
Doesn't matter. They literally already have a Javascript-like DSL: https://data-star.dev/guide/datastar_expressions
sudodevnull•10h ago
hasanhaja•11h ago
But again, the API design woes are subjective and I think it's perfectly fine to iterate on getting this to a nicer state.
"Wrong" to me suggests a gap in the understanding of fundamentals or of how things work. If the ideas of Datastar are fine to all of us, and our issues with it are ergnomics, then that can be a more focused discussion.
troupo•11h ago
They aren't. This is not good API design
> "Wrong" to me suggests a gap in the understanding of fundamentals or of how things work.Snide vaguely dismissive remarks don't make such remarks true.
> If the ideas of Datastar are fine to all of us
Who's us? Are these "us" in the room with us right now?
hasanhaja•11h ago
Why isn't it a good API design?
> Snide vaguely dismissive remarks don't make such remarks true.
Agreed! I don't believe I was doing anything of the sort.
> Who's us?
People on this thread.
sudodevnull•10h ago
troupo•9h ago
This wilful insanity is completely incomprehensible to me (HTMX and lit are also fully infected with it): "Oh no, we are just HTML, we can't do anything" while literally doing tons of things outside of HTML.
sudodevnull•6h ago
troupo•4h ago
Again: you literally have a custom Javascript-like DSL in Datastar. Use that.
It's like the "it's just HTML" or "it's HTML-compliant" mantra somehow damages the brain, or something.
Edit: this custom JS-like DSL is so prominent and such a crucial part of Datastar, that it's referenced in the very first paragraph of reference: https://data-star.dev/reference
Oh, look, your HTML-spec-compliant thing in which it is apparently impossible to do anything outside data-* attributes somehow calls external functions, and updates signals, and reads signals, and does all sorts of things:
But no! It's absolutely impossible to do something about data-on-click__window__debounce.500ms.leadingrobinhood•12h ago
brazukadev•4h ago