[HN Gopher] Datastar: Lightweight hypermedia framework for build...
___________________________________________________________________
Datastar: Lightweight hypermedia framework for building interactive
web apps
Author : freetonik
Score : 200 points
Date : 2025-10-10 08:46 UTC (14 hours ago)
(HTM) web link (data-star.dev)
(TXT) w3m dump (data-star.dev)
| gregoriol wrote:
| Everything about this seems so bad! The website doesn't look
| serious at all. The code adds crazy html attributes, even more
| crazy than other crazy front-end frameworks like `data-on-input__
| debounce.200ms="@get('/examples/active_search/search')"`... this
| level of wrong is incredible.
| macmac wrote:
| Could provide actual arguments for why these aspects of
| Datastar are "crazy", "even more crazy" and "wrong"?
| gregoriol wrote:
| What more do you need than writing something like `data-on-in
| put__debounce.200ms="@get('/examples/active_search/search')"`
| in the DOM as being crazy and wrong?
| macmac wrote:
| So your answers is no, you cannot provide any arguments.
| palmfacehn wrote:
| The poster provided an example of poor abstraction. HTML
| for display, JS for client side logic. Combining them is
| part of the problem with other popular frameworks.
| nchmy wrote:
| No, it's the entire point of datastar - that you don't
| need much JavaScript at all because some simple html
| attributes do most of it for you, and any extra can
| either go in-line, or you can also just fallback to
| separate js scripts if needed.
| array_key_first wrote:
| I think you, and others, just don't understand what
| hypermedia is or what the idea is trying to achieve.
|
| Which is weird, because this is (was?) the predominant
| way to make websites for decades.
| sudodevnull wrote:
| You mean like onclick?
| afavour wrote:
| I think OPs point argues for itself. The example provided
| is awful developer ergonomics.
| array_key_first wrote:
| Okay but _why_. Surely if you have auto complete this
| works just fine.
| daeken wrote:
| I mean, that seems ugly to me, but... Makes intuitive sense
| and is fine actually? Is HTML a rich language in which to
| embed stuff like this? No. Does this clearly get the point
| across? Yes.
|
| [Edit: this should've actually been attached to the GP
| comment. I agree with the parent.]
| hasanhaja wrote:
| Isn't that the whole point of hypermedia frameworks like
| Datastar and HTMX? It's to extend the declarativeness of
| HTML.
|
| 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 wrote:
| Because it's a mish-mash of different ad-hoc DSLs.
|
| 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 data-on-
| click__debounce.200ms="$landingGearRetracted &&
| @post('/launch')"
|
| Which is just bad design
| jmstevers wrote:
| What design do you think would be better?
| troupo wrote:
| Both Datastar and HTMX have the same issue: they want to
| pretend to be HTML. So they force themselves into writing
| several DSLs like this to pretend that this is still
| "just HTML".
|
| Since they have a full "Datastar expression" language,
| I'd just expand that. Then you wouldn't need these weird
| constructs: <button data-on-
| click__window__debounce.500ms.leading="$foo =
| ''"></button>
| jmstevers wrote:
| Well they are both "just HTML", Datastar being better
| about being spec compliant using the dataset attributes
| and all.
|
| By expanding the "Datastar expression" language, do you
| mean a compiled language or moving all the expressions
| into JS files or something else?
| troupo wrote:
| > By expanding the "Datastar expression" language, do you
| mean a compiled language or moving all the expressions
| into JS files or something else?
|
| Doesn't matter. They literally already have a Javascript-
| like DSL: https://data-
| star.dev/guide/datastar_expressions
| sudodevnull wrote:
| Datastar is spec compliant HTML. Please point me to the
| code that's not HTML spec compliant
| hasanhaja wrote:
| I can see what you're saying.
|
| 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 wrote:
| > But again, the API design woes are subjective
|
| They aren't. This is not good API design
| <button data-on-
| click__window__debounce.500ms.leading="$foo =
| ''"></button>
|
| > "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 wrote:
| > They aren't. This is not good API design
|
| 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 wrote:
| We are limited to what is possible in the data dash-*
| spec. If you have better syntax that's going to work
| everywhere in every browser please let us know!
| troupo wrote:
| You literally have a custom Javascript-like DSL already
| https://data-star.dev/guide/datastar_expressions
|
| 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 wrote:
| What's your alternative that stay HTML spec compliant?
| Instead of whining show code
| troupo wrote:
| > What's your alternative that stay HTML spec compliant?
|
| 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:
| <div data-signals-result> <input data-bind-
| foo data-on-input="myfunction(el, $foo)"
| data-on-mycustomevent__window="$result =
| evt.detail.value" > <span data-
| text="$result"></span> </div>
|
| But no! It's absolutely impossible to do something about
| data-on-click__window__debounce.500ms.leading
| robinhood wrote:
| To me, it doesn't seem any more far-fetched than, say,
| instantiating a virtual DOM in the browser.
| brazukadev wrote:
| Do you dislike Lisp too?
| IshKebab wrote:
| Seems pretty elegant if you are willing to give up on the type
| safety of TSX. I wonder if this can be combined with it somehow.
| An example using Fresh would be great.
| ivape wrote:
| I actively look for non-TS frameworks. To me it's always been
| useless overhead. It really is a outcome of startup/enterprise
| teams that are so far away from how money goes in and out of a
| business that they sit around and think TS is a good usage of
| time. It may hurt their feelings to know plenty of people run
| successful teams and entire businesses without type safety. It
| also makes the code look like shit.
|
| To each their own I guess.
| IshKebab wrote:
| Bizarre view. TS reduces bugs and increases productivity.
| ivape wrote:
| I just think you are wrong. It mostly takes mindshare from
| rookie developers that are insecure and need to cover all
| their bases lest they be called bad at being a developer.
| Many grow out of this insecurity and see things for what
| they are. TS is OKAY, but it's not worth my time.
| IshKebab wrote:
| Well I'm objectively correct about it preventing bugs.
| This is one of the few things that has been fairly
| conclusively shown by studies.
|
| 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.
| ivape wrote:
| _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._
|
| 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.
| IshKebab wrote:
| I said _reliably_. Without static types in large
| codebases you are likely to miss things. E.g. you rename
| a variable but don 't catch everywhere you should have
| updated it.
|
| Don't say "but tests".
| brokegrammer wrote:
| I mostly agree with this. TS works great in large enterprises
| where developers don't trust each other. But if you're
| working on your own, or in a small team where you can easily
| agree with each other, TS just becomes unnecessary overhead.
|
| 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.
| hasanhaja wrote:
| The type-safety concern would be to do with your templating
| tool, right? It doesn't have anything to do with Datastar
| macmac wrote:
| With Datastar your front end logic (if any) is minimal, and you
| can use any typesafe (or not) language you want for the
| backend. If you build webcomponents for your Datastar frontend
| you can use TS to your heart's content.
| nchmy wrote:
| Datastar itself is written in TypeScript... And it is
| completely agnostic as to what language or approach you use in
| your backend, so long as you render html with the appropriate
| (web standards-compliant) attributes and expressions. Use ts,
| rust, lisp, or whatever you want on your server.
| sudodevnull wrote:
| We have tons of people using TSX in deno or bun. You are just
| creating it primarily in the back end.
| armarr wrote:
| This feels like an interation on Hotwire
| yxhuvud wrote:
| Yes, with pay to play for trivial features.
| sudodevnull wrote:
| Then fork it, it's MIT
| dev_ila wrote:
| this looks awesome dude
| VoidWhisperer wrote:
| Maybe it is because I'm a bit too deep in the React ecosystem at
| this point, but once you start trying to do any reasonably
| complex task, this seems like it would be significantly harder to
| reason about.
|
| 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
| withinboredom wrote:
| In my experience from using react apps on 2g/3g... I would much
| prefer the html. Usually, you get the content in 1-2 seconds
| with html, where you could end up with a react apps that never
| loads at all. Why does it never load? Because enterprising
| engineers usually invent their own timeouts that make no sense
| when you are dealing with bytes-per-second. There's already a
| one minute timeout on the socket, and it knows if it is still
| receiving where your application has no sense of progress.
|
| Please don't reinvent things.
| VoidWhisperer wrote:
| The issue is that if you have to make more requests overall,
| there is a non-negligible rtt for each of those requests,
| which on slow connections can add up very fast
| fermigier wrote:
| "this revolves a lot around the backend returning HTML"
|
| - This is the way the Web used to work in the era of 56kbps
| modems (also, with ten levels of "<TABLE>" for layout).
| nchmy wrote:
| If you are truly offline, then of course this won't work.
|
| 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.
| knallfrosch wrote:
| "Frontend" is a huge field.
|
| 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.
| bradly wrote:
| It isn't mentioned on the homepage, but Datastar does charge for
| the following features: 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 teams
|
| https://data-star.dev/reference/datastar_pro
| mbvisti wrote:
| not sure i think this is a good way to fund their work BUT
| exploring models to make open-source sustainable for the
| developers does seem like a good thing, no?
| bradly wrote:
| I have no problem with anyone charging what they would like,
| but I do think it should be mentioned on the homepage. It
| feels intentionally left off which makes me think the
| developers themselves aren't 100% comfortable with the model.
| nchmy wrote:
| They're completely comfortable with and unapologetic about
| the model. And they're not hiding anything.
| DrewADesign wrote:
| Ok, so their homepage design _unintentionally_ omits that
| pertinent information. I've wasted a couple of hours
| installing a FOSS package for a personal project only to
| find out one of the most heavily presented features was a
| paid add-in. Even if it's bad communication design add
| not intentional, it _feels_ like a salesey bait-and-
| switch tactic in that situation, and they probably want
| to know that.
| nchmy wrote:
| What is it that you think is the most heavily presented
| feature that is actually behind a paid addin? Because
| they're quite vocal about the fact that most people
| should not ever need the pro license... They actively
| dissuade people from buying it.
| hasanhaja wrote:
| Which feature are you referring to?
| skeeter2020 wrote:
| not the OP, but a lot of the referenced functionality
| looks like I might use it. The problem is I'm not going
| to bother trying this and investing any effort with even
| the looming possibility I'll need to pay to keep going. I
| don't think too many people approach this space with a
| purchase evaluation mindset like say, "I'm going to test
| out this grid to see if we should buy it". In that case
| pay-for advanced functionality is part of the approach
| from the start.
|
| Also, 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.
| nchmy wrote:
| as i've said in many comments and the devs say ad-
| nauseum, there's very little need for anything in the Pro
| license. the fully open-source library is sufficient for
| almost all needs. And it is easily extendable with
| plugins if you want more functionality than it provides.
| hasanhaja wrote:
| Fair enough! That's up to you
|
| 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?
| sudodevnull wrote:
| Why is pro pertinent info? You probably don't need it.
| It's just a set of plugins and tools anyone could write
| if they needed.
| beardicus wrote:
| i went looking for pricing info and it's the last item in
| the last menu on the website... it's not exactly up
| front. i was looking for a "pricing" top-level menu item
| first, which is pretty standard nowadays.
| nchmy wrote:
| As ive said in many other comments - YOU DO NOT NEED PRO.
| The devs are very adamant about this - even aggressively
| so. 99% of apps will work just fine with the free
| library. Pro is for some bells and whistles, or just to
| support people who have invested many thousands of hours
| into making a genuinely innovative framework, and given
| it away
| skeeter2020 wrote:
| OK, then this approach will needlessly discourage
| adoption AND consume way more resources than it brings
| in. Under this structure the team needs to deliver the
| highest level of quality to the smallest paying audience
| without community support. Further, enterprise is very
| hesitant to pay for this as a product but are way more
| receptive to paying for support. Everyone would be much
| better served without a tiered free/pay product and paid
| support options.
|
| >> 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.
| hasanhaja wrote:
| If an enterprise won't want to pay for the product, what
| makes you think they're more likely pay for support?
|
| 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.
| beardicus wrote:
| This is irrelevant to my comment. You claimed they're not
| hiding pricing and I'm simply saying it was a little hard
| to find -\\_(tsu)_/-
| hasanhaja wrote:
| I don't think that's a fair read of their intentions given
| how they talk about it everywhere [1]. Pro isn't there to
| paywall great features, but there to support the
| development of complex and annoying ones. The example of
| `data-on-signal-patch` that moved from pro to core speaks
| to how they're thinking about the project.
|
| [1] Time-stamped it for convenience:
| https://youtu.be/eMIB4Bkl08U?si=IfTslvZoGXVbou0w&t=1270
| NaomiLehman wrote:
| I think most people are not comfortable with making money
| or talking about money. Also people who are bad at making
| money might be bad at marketing/handling this.
| edu wrote:
| Yes, it feels scammy. Like you, I've no problem paying for
| software if it seems worth it. I've payed a few times for
| Highcharts (different companies) and I did gladly and
| without hesitation, it also feels that they're being honest
| about their business model.
| hasanhaja wrote:
| This feels incredibly unfair and harsh and is completely
| unfounded. What's the scam here?
| imiric wrote:
| I do think this is the most sustainable approach for
| monetizing open source projects, _as long as_ the developer
| is fair about it. That is, truly make features that only
| large and /or enterprise users would have a use for, and only
| charge for those, instead of arbitrarily deciding to put core
| features of the software behind a paywall.
|
| 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.
| jonathanstrange wrote:
| I'm skeptical about this business model because it can
| become worse than proprietary software dependency over
| time. You get lured in by thinking it's open source and
| free, and might end up paying as much as the developer
| wants for essential features a few years later.
| nchmy wrote:
| Except the pro option is not "a few years later" it's
| available in pre-v1 and is a one-time lifetime purchase,
| not a subscription.
|
| 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.
| jonathanstrange wrote:
| At the risk of repeating myself, I was talking in general
| terms about the _business_ model and the uncertainty
| about the licensing it creates concerning possible
| _future_ features.
|
| 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.
| imiric wrote:
| Like I said, it's crucial for the developer to be fair
| about it. Running a sustainable business built on open
| source is entrepreneurship on hard mode. Some companies
| do a better job at this than others, and, unfortunately,
| open source has been abused as a marketing strategy on
| many occasions.
|
| 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.).
| nchmy wrote:
| They're not even running a business on this - its
| literally registered as a 501c3 nonprofit. Its a labour
| of love that theyve shared with the world, and they
| actively tell people that the pro features are
| unnecessary for most projects. If you want those features
| or just want to support the project, the cost is quite
| fair, and just goes to things like traveling to do
| conference talks etc... They are not getting rich off of
| this.
|
| 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.
| imiric wrote:
| That's admirable. They just gained another sponsor. :)
|
| 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.
| limagnolia wrote:
| If they are charging for features, those features are a
| business, even if its a nonprofit business. There is also
| precedent for the IRS to consider it unrelated business
| income and to make them pay taxes on it, but that seems
| to be a huge grey area in US tax law.
| withinboredom wrote:
| LOL. What US tax law?
| nchmy wrote:
| This is exactly what is done here. They're emphatic that
| most will/should never need the pro features.
| simonw wrote:
| Looking at https://data-
| star.dev/reference/datastar_pro#pro-features the features
| that stood out for me as things I would want to to use
| (and that don't feel particularly "pro" to me) are the
| animation features, data-replace-url, data-on-resize,
| data-scroll-into-view, the @clipboard() mechanism and,
| most importantly, the debugging tool.
|
| 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.
| nchmy wrote:
| Datastar is currently in the Release Candidate phase of
| v1, which they seem to be certain will be the final form
| of Datastar. So, they're really not looking for
| "community contributions" to the core of datastar, other
| than for feedback to polish it off.
|
| 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.
| withinboredom wrote:
| Naming things really is hard. I can't even with these
| names.
| nchmy wrote:
| what's wrong with the names? they seem perfectly fine to
| me...
| nchmy wrote:
| Also, btw, some of these - specifically data-replace-url
| - are strongly discouraged by the devs, to avoid
| footguns. I dont have experience with it, but people have
| spoken lots in their discord about how things like
| Hotwire Turbo are too magical and end up causing a lot of
| issues. Datastar strong recommends just using hypermedia
| as it was designed (HATEOAS
| https://htmx.org/essays/hateoas/) and doing full page
| reloads when you change a page. And for more ephemeral
| in-page changes, you can use the sse fragments morphing
| etc
| foofoo12 wrote:
| > exploring models
|
| This model of using deception to hide costs isn't exactly
| "exploring". It's tried and tested.
| mbvisti wrote:
| you're stretching the definition of deception here my guy-
| what do you want them to do? plaster a big sign on the
| landing page stating that this framework ALSO contains pro
| features that you have to pay for?
| matheusmoreira wrote:
| > what do you want them to do?
|
| > 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.
| mbvisti wrote:
| completely reasonable expectation
|
| > I for one don't enjoy being on the receiving end of
| these marketing dark patterns and manipulation tactics.
|
| hahaha
| skeeter2020 wrote:
| I've commented above that this seems like a bad approach,
| but it sure feels like a lack of awareness vs. an
| intentional dark pattern. The internet makes it so easy
| to assume the worst but I think this is a case where we
| should start with the most charitable interpretation.
| sudodevnull wrote:
| Dark pattern? Pro plugins are built in the same way as is
| accessible to any user. What's the real issue?
| porridgeraisin wrote:
| > plaster a big sign
|
| Yes!! That's table stakes. It's the bare minimum needed
| to not be considered malice.
| sudodevnull wrote:
| Why? What is at stake?
| porridgeraisin wrote:
| Basic decency of being upfront about your business model,
| and in general being upfront and not being deceitful in
| life.
|
| 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.
| foofoo12 wrote:
| > what do you want them to do?
|
| The common thing to do today is put a "pricing" menu item
| at the top right. That'd be fine.
| hasanhaja wrote:
| Wanted to include that this is so the development and
| maintenance of Datastar as a project is sustainable. And that
| they are a registered 501(c)(3) nonprofit organization.
|
| https://data-star.dev/star_federation#nonprofit-organization
| nchmy wrote:
| What a weird comment. Why bring this up unless you're just
| trying to make them look bad in a dishonest way? It is clearly
| documented on the site in multiple places.
|
| 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.
| xdfgh1112 wrote:
| I appreciated it. If I'm going to consider a framework I want
| to know if some of it costs money. Especially like 299usd.
|
| Frankly your response seems very hostile and makes me wants
| to avoid them more.
| nchmy wrote:
| What a world we're living in - I point out that a hostile
| comment is hostile, and I'm labeled hostile.
|
| 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.
| speff wrote:
| If you're amenable to feedback, the impression I got from
| your initial comment was "a hostile comment pointing out
| another hostile comment". It assumed a negative
| motivation on OOP based on vibes and you ran with it.
| Even this comment's parting line:
|
| > 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".
| nchmy wrote:
| Finally a good-faith reply!
|
| 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.
| xdfgh1112 wrote:
| I'm sorry people didn't immediately take to this
| financing model as well as you did. The average person is
| not as invested as you and most people are going to
| immediately switch off if they hear part of the
| functionality costs money and this isn't mentioned
| anywhere on the front page. Doesn't matter how
| "unnecessary" these features are, it's a bad look.
|
| 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.
| nchmy wrote:
| People pay for things all the time, why not (almost
| surely unnecessary) code? Why do you all feel entitled to
| free access to thousands of hours of very highly skilled
| devs' efforts (most of which they actually are giving
| away for free)?
|
| 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.
| xdfgh1112 wrote:
| I think the pro version and charging stuff is totally
| fine. It's the lack of transparency that bothers people.
| I shouldn't have to figure out their profit model from HN
| comments. If you want to be paid for your work, charge
| for the whole library or make the free/pro distinction
| very clear to people. Don't try to hook them in with a
| free offering while locking features behind a paywall
| that they discover later.
|
| 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.
| sarchertech wrote:
| This is an example of the entitled subset of people who come
| out of the woodwork whenever an open source project has any
| kind of monetization or even just a non-standard license
| prohibiting billion dollar companies from selling their
| project as a service.
|
| 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.
| mexicocitinluez wrote:
| op: _copies information from the website_
|
| you: "How dare you!!!!!"
| sarchertech wrote:
| There's a such thing as context and intent which are
| separate from content, and this is directed as much at
| the people who upvoted this particular content to the top
| comment as it is to the OP.
|
| 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.
|
| https://news.ycombinator.com/item?id=45537372
| skyfantom wrote:
| Didn't find anything about this on the main page.
| sudodevnull wrote:
| Author of Datastar here. Most people don't need pro and it
| seems like putting it on the front page is actually
| marketing it instead of people finding it as the need the
| features. Not only should most people not use the features
| we actively push against it. The only thing that's really
| super valuable is the inspector which is a Dev tool
| nchmy wrote:
| As someone who actually happily bought Pro, I completely
| agree with this. Inspector is great, and worth the
| (nominal) cost of Pro. I _might_ use a couple other of
| the pro functions. I 'm very much looking forward to
| Stellar CSS and Rocket Web component framework getting
| released - they'll DEFINITELY make pro worthwhile, and
| given that they are completely new, there should be no
| qualms about it being purely pro.
| Unai wrote:
| I opened my HN client and saw multiple posts at the top of
| the home page about this datastar thing, with comments like
| yours either very aggressively defending it or praising it as
| the best thing since bread.
|
| 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.
| nchmy wrote:
| Full disclosure: I'm a happy and grateful user and
| purchaser of the datastar pro license.
|
| 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.
| mexicocitinluez wrote:
| > It is clearly documented on the site in multiple places.
|
| 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.
| nchmy wrote:
| because the implication in this and so many other comments
| is that they're dishonestly hiding something. There was no
| other commentary other than a large and prominent comment
| saying "Watch the fuck out everyone! There be $ hidden in
| there!"
| yxhuvud wrote:
| Yeah, I have no idea why someone would want to consider this
| over turbo + stimulus
| Baguette5242 wrote:
| I tried Datastar and it was great, then I saw this kind of move
| and it turned me down immediately.
|
| 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.
| sudodevnull wrote:
| Then don't buy it, you probably need it
| sudodevnull wrote:
| [flagged]
| dang wrote:
| Can you please not post in the flamewar style to HN? We're
| trying for something different here:
|
| https://news.ycombinator.com/newsguidelines.html
|
| You can always make your substantive points thoughtfully, so
| please do that instead.
|
| Edit: two things I realized after posting the above: (1)
| you're the project creator! well, I can understand how anyone
| would react negatively given the critical things some
| commenters have been posting.
|
| But also (2) you've been breaking the site guidelines in
| other comments too (e.g.
| https://news.ycombinator.com/item?id=45539942). Ultimately we
| need you to stick to the rules, regardless of what other
| commenters are doing, and of course the same applies to them
| also.
|
| (p.s. in case it's not clear, I'm a mod here and just trying
| to keep the peace a bit)
| davidwparker wrote:
| You should probably update your comment to at least let people
| know this is a one-time lifetime cost. Not a subscription.
|
| Which is priced similar to Tailwind UI, which people are fine
| paying for.
| teekert wrote:
| That movie at the bottom makes me want to use it for any next
| project. Gold. "The planet uncomplicanus" :D
| Blahagun wrote:
| Oh great, yet _another_ front-end framework, but this one is with
| _paid_ features as well. Are we seriously going to pretend this
| isn 't getting out of hand?
| hasanhaja wrote:
| What's your concern with the paid features?
|
| https://news.ycombinator.com/item?id=45537335
| nchmy wrote:
| they're a 501c3 non profit and they actively dissuade people
| from buying the pro license, because YAGNI. If you want those
| features, or just want to support a genuinely innovative
| framework that people spent years building, you can get the
| license. Its not that expensive and is a one-time purchase.
| andersmurphy wrote:
| For those of you who don't think Datastar is good enough for
| realtime/collaborative/multiplayer and/or think you need any of
| the PRO features.
|
| 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.
| afavour wrote:
| > They have all survived the front page of HN
|
| 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.
| nchmy wrote:
| I don't understand what point you're trying to make.
|
| 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.
| afavour wrote:
| I think my point is pretty straightforward. Datastar is a
| front end framework. If any frontend framework can't
| survive HN traffic it's doing something wrong in a truly
| unholy way.
|
| Surviving, or not surviving, a traffic influx is a backend
| restriction.
| nchmy wrote:
| And yet, most frontend frameworks barely on even the
| _simplest_ of sites. This is not only well documented,
| but most of them have now moved towards some sort of SSR
| hybrid - at great complexity cost.
| afavour wrote:
| I disagree with "most". 99% of the sites featured on HN
| do just fine.
|
| 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.
| andersmurphy wrote:
| Thank you for the kind words.
|
| 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".
| nchmy wrote:
| That's a fair point.
|
| 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.
| afavour wrote:
| > The notion that "frontend" devs have that the DOM can
| and must be managed via JS is simply ridiculous
|
| The idea that UI state should be managed locally is
| ridiculous now?
| nchmy wrote:
| Its interesting, and telling, that that's the only part
| of my comment that you replied to...
|
| 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
| afavour wrote:
| I don't feel the rest was really worth engaging with. SSE
| is a really interesting technology but again, it's
| frontend agnostic. You can build a great SSE solution
| with any other framework.
|
| 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.
| nchmy wrote:
| The _entire point_ of frameworks is so that you dont have
| to engage with lower level things... D* makes it
| exceptionally easy to work with SSE and all sorts of web
| APIs.
|
| 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.
| array_key_first wrote:
| You do it to reduce complexity.
|
| 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.
| anthonylevine wrote:
| >This is not only well documented
|
| Please, I'm begging you to share this "well documented"
| fact that most frontend frameworks barely "handle" on the
| simplest of sites.
| nchmy wrote:
| Certainly! Here's a good start (React is the main focus,
| but it extends to many other frameworks)
|
| https://infrequently.org/2024/11/if-not-react-then-what/
| (there's MUCH more at this site as well)
|
| https://www.zachleat.com/web/react-criticism/
| markusw wrote:
| It's a frontend framework and a backend SDK in multiple
| languages, for SSE and more.
| sudodevnull wrote:
| Data star is a backend agnostic backend framework that
| happens to have a 10kb on the frontend. You should
| probably read the guy before coming to conclusions on
| what it is
| andersmurphy wrote:
| Sure. You're not wrong. I'd argue Datastar's fat morph model
| is what lets me write a much simpler backend that's amenable
| to batching/better compression. It's also fast enough on the
| client that this immediate mode style rendering of HTML is
| actually possible.
|
| 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.
| miroljub wrote:
| [flagged]
| andersmurphy wrote:
| It's global multiplayer, you can see everyone changes
| simultaneously. There's no client side state for the
| checkboxes they are all on the server.
| jakewins wrote:
| The whole point of this framework is that a ton of the logic
| remains on the backend, with live connections to the
| frontend. At least for me the performance and hosting cost
| implications of that was the first question that came to my
| mind when I looked at this, I don't understand how answering
| this question isn't relevant here.
| dang wrote:
| Can you please not post like this here? It's against the site
| guidelines: https://news.ycombinator.com/newsguidelines.html
| emschwartz wrote:
| Does anyone have a detailed comparison of the functionality you
| get from Datastar versus HTMX + Alpine.js? My impression was that
| Datastar was trying to be a lighter weight combination of the
| other two.
| nchmy wrote:
| I don't know about a detailed comparison, but datastar
| basically does everything those do combined, but in a smaller,
| simpler package.
|
| 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.
| teekert wrote:
| It sounds like some form of Event Sourcing? I didn't get much
| technical details from the page, and the (otherwise excellent)
| movie.
| nchmy wrote:
| It can be, but doesn't need to be. It's highly compatible with
| cqrs and event driven in general, usually done with sowmthing
| like a pubsub event bus (NATS is most often used). Whether you
| want to go all the way to event sourcing is up to you - it's
| completely agnostic as to how you do your backend.
| Mizza wrote:
| Reinventing the wheel and then charging for simple features?
|
| If this paradigm excites you, just use Phoenix, dawg. It's so far
| ahead, everything else feels primitive.
| Alifatisk wrote:
| I can't use Phoenix with Rails now, can I?
| nchmy wrote:
| What here has been reinvented? There's nothing out there like
| datastar. Htmx + alpine is similar, but much heavier and less
| functional.
|
| 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.
| hasanhaja wrote:
| Simple features? Making those imperative APIs declarative is
| not very simple for me, but you're welcome to not use those
| features and write them yourself.
|
| 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
| TeddyDD wrote:
| In what specific areas Phoenix Live View is so far ahead? Do
| you mind elaborating?
|
| 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.
| mawadev wrote:
| This post and other posts about datastar on the hn frontpage seem
| unnatural to me. It's like a marketing effort to astroturf this,
| especially with newly created accounts interacting with this...
| cjs_ac wrote:
| I'm using HTMX and had never heard of Datastar until today. I
| imagine there's a fair few people who saw the first post,
| looked into it and found other things about Datastar, and
| decided to post them.
| nchmy wrote:
| This and other negative, yet argument-free, comments about
| datastar are what seem unnatural to me...
| penultimatename wrote:
| I thought the same before I saw your comment. Several posters
| are new or have also posted on previous posts about Datastar
| (and are oddly aggressive.)
| evilduck wrote:
| Yeah, why does hypermedia attract folks who always sound so
| aggressive? It's a weird but common theme.
| sarchertech wrote:
| That's a common HN pattern. Someone posts something about "why
| I switched to x" and it inspires someone else to link to the
| the x website, or even to other similar projects websites, and
| they all make it to the front page. It's just a common
| synergistic phenomenon.
| dang wrote:
| I think it was probably the copycat/followup effect rather than
| anything coordinated, but I haven't looked closely.
|
| Trying to decide whether to merge the threads and/or which of
| them should 'win'...
| philipallstar wrote:
| I think something I'd love is to see how to adopt some of the
| more decent frontend practices (e.g. having a component library)
| but rendering them using a backend that isn't something like
| NextJS. Can you import a component library and use it in a Flask
| app, say, or are the worlds just fundamentally too different?
| nchmy wrote:
| You can use datastar with ANY backend and templating system
| that you want - you just have to return html with the
| appropriate (and standards-compliant) attributes and,
| optionally, js expressions.
|
| Use php, python, rust, or anything else that you want. They all
| have various approaches to html templating.
| markusw wrote:
| For Go, something like gomponents [0] or Templ [1] would fit
| that. (Disclaimer: I wrote gomponents.) I even have a Datastar
| integration now. [2]
|
| [0]: https://www.gomponents.com
|
| [1]: https://templ.guide
|
| [2]: https://www.maragu.dev/gomponents-datastar
| philipallstar wrote:
| Thanks - interesting! I was more thinking of a workflow where
| a designer makes a component in Figma, and it's probably
| polished and made available in a component library by a
| frontend/UI person, and it's probably a React component or a
| Web component. I was wondering whether that workflow was at
| all compatible with any of the non-JS backends that are
| reclaiming frontend a little.
| sudodevnull wrote:
| And gomponents is great!
| imiric wrote:
| Datastar is one of the few projects in the web ecosystem in years
| that feels like a paradigm shift for the better.
|
| 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/
|
| [2]: https://www.youtube.com/watch?v=0K71AyAF6E4
| nchmy wrote:
| I was just commenting to someone yesterday how it's a testament
| to how refined this is that he's been working hard for over 2
| years to produce such a small amount of code. I can only
| imagine how many variations he's gone through in order to get
| to what we see today - a refined, simple, easy, powerful way to
| do SSR-driven declarative interactivity, etc
|
| 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.
| imiric wrote:
| > it's a testament to how refined this is that he's been
| working hard for over 2 years to produce such a small amount
| of code.
|
| 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.
|
| [1]: https://github.com/hackfixme/miu
| nchmy wrote:
| Yeah, i'm a big fan of his/theirs.
|
| > 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)
| basro wrote:
| Hey, I'm curious about the web component framework and css
| framework you mentioned. I was unable to find info about it,
| could you link me?
| nchmy wrote:
| THeres not much on the site yet, as he's still baking it.
| https://data-star.dev/reference/datastar_pro#stellar-css
|
| But theres rocket and stellar channels in their discord
| where there's sneak peeks. VERY cool stuff
| https://discord.gg/bnRNgZjgPh
| markusw wrote:
| Thank you for sharing the youtube links in particular! It's
| nice to get some background info and intent for interesting
| libraries.
| Imustaskforhelp wrote:
| Not sure why the community is being so hostile like use phoenix
| or it charges or its hostile
|
| 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
| sarchertech wrote:
| The problem is that a small company still needs to provide
| support from their own very high cost of living country.
|
| $5 doesn't cover the cost of you filing a single support
| ticket.
| Imustaskforhelp wrote:
| I understand it sincerely.
|
| 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?
| nchmy wrote:
| they do have a discord server, and it is full of excellent
| conversation. But I expect that you would receive a similar
| response to what we've given "sorry, but no. But, also, you
| dont actually need the pro features. Build with the free
| version and profit from it"
| sarchertech wrote:
| There are so many issues with doing something like this
| that it's almost never going to be financially viable for
| small companies.
|
| - 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.
| Imustaskforhelp wrote:
| Yeah I was thinking about it and I get it why regional
| pricing might not make sense for a product like this...
| Its complicated and well, it would also hurt the
| developers actively as well of sorts. So I don't really
| expect them to do such
|
| 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?
| nchmy wrote:
| This is the only valid and reasonable criticism I've seen here
| so far, kudos to you.
|
| 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!
| markusw wrote:
| What I've done in a project once is use Purchasing Power
| Parity: basically, there's an index for purchasing power, and
| you adjust your pricing based on that. It's implemented in
| some major payment platforms, like Gumroad:
| https://gumroad.com/help/article/327-purchasing-power-parity
| nchmy wrote:
| Yeah, something like PPP seems to be the way to do it. But
| it seems non-trivial to implement in reality. Gumroad
| consequently charges 10% fees.
|
| 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.
| sudodevnull wrote:
| Datastar author here, neat idea. Join the Discord and talk
| to us about how to implement. We're just a few guys and
| just don't have the cycles to explore every option for
| every facet of the project. Some of this is pure overhead
| Imustaskforhelp wrote:
| Oh wow, glad that somehow my idea of purchasing power is
| implemented by something like gumroad
|
| 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!
| throwup238 wrote:
| _> Is there something that makes it all "just work"?_
|
| 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.
| HiPhish wrote:
| > Not sure why the community is being so hostile
|
| 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
| esjeon wrote:
| This pattern isn't new per-se. The industry already went through
| it when moving from DHTML to XHR, and it was (mostly) abandoned
| for good reasons. Modern DOM patching techniques gave rise to
| some newer variations, but they still make the same old trade-
| offs. They don't really solve engineering issues like tight
| coupling and brittleness, nor network issues like latency and
| larger payload volume.
|
| 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.
| NaomiLehman wrote:
| Doesn't Astro solve this already?
| sudodevnull wrote:
| Not in the slightest
| sudodevnull wrote:
| Datastar author here. Yes nothing is new here, that's kind of
| the point. You seemingly lost her way with jQuery which was
| just sprinkle on the page but then spa wasn't interesting
| approach at reactivity while missing all the points of the back
| end controlling most the state. I'm not trying to be innovative
| I'm just trying to get us back to some normalcy
| masfoobar wrote:
| Seems interesting.
|
| I don't think its going to make me swap from htmx, though. We
| shall see.
| oulipo2 wrote:
| Interesting, but do I understand correctly that:
|
| - 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?
| chuckadams wrote:
| Datastar's ideas look wonderful, and I've thought of adopting it
| myself, but hobbling the open source version to not compete with
| pro this early on sounds like a fast ticket to a hard fork. It's
| not like they command a vast ecosystem that would be reluctant to
| switch.
|
| [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.]
| nchmy wrote:
| > sounds like a fast ticket to a hard fork.
|
| 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.
| chuckadams wrote:
| Were I so inclined, I'd make them compatible with non-pro.
| And more likely just take my fork in whatever direction I
| cared to, just keeping the wire format compatible (and likely
| negotiable). But it's a project best left for people actually
| using Datastar, not curious onlookers like me.
| nchmy wrote:
| Given the simplicity of doing such a fork, and that no one
| has done it yet, perhaps this is a non-issue?
| sudodevnull wrote:
| Please do! I highly recommend doing that, PLEASE FORK
| kitd wrote:
| "Hobbling" is too strong a word. There's a handful of
| attributes and events that are only available in Pro and none
| look fundamental to the operation of most sites [1]. In fact
| they could all probably be replaced with a bit of custom JS
| sent up from the server.
|
| [1] https://data-star.dev/reference/datastar_pro
| azemetre wrote:
| Is there documentation on how they made that slick Star space
| animation on the front page? Very cool and retro looking
| sudodevnull wrote:
| It's just a basic 1kb web component driven by datastar
| attributes
| azemetre wrote:
| Do you have a link to the web component? I can't find the
| site code anywhere on their github org.
| dang wrote:
| Related ongoing thread: _I switched from Htmx to Datastar_ -
| https://news.ycombinator.com/item?id=45536000 - Oct 2025 (223
| comments)
|
| 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)
| sigmonsays wrote:
| as a newb, does datastar work on mobile?
|
| Most web pages I try to build never look right on firefox on
| android.
| pst wrote:
| I've been building a frontend with Go, Templ and Datastar for a
| few months now. I really like the @actions and how the page is
| updated with the response.
|
| 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.
___________________________________________________________________
(page generated 2025-10-10 23:01 UTC)