Hacker News new | ask | show | jobs
by keepamovin 809 days ago
Great question. I created a series of UI frameworks and experiments starting around 2018 that evolved like: "react in 500 lines of JavaScript", Brutal.js, Vanillaview, Bang.html, Good.html. The ultimate one was a realization of a long held dream unifying web components with the JS tagged template literals and easy "drop in" event listeners and "granular DOM updates without 'shadow DOM'" of my previous creations in that lineage.

The starting point was I disliked React's complexity and its violation of the implicit contract of the web platform in that HTML, JavaScript and CSS should function as the standard, if they're going to look like the thing. By creating a parallel but subtly different HTML/CS/JS DSL, to me it corrupted the platform and weakened it overall. I thought it a flawed approach and still do, and longed to see something better, so I built something that had the ergonomics I wanted.

I also really liked the things that came along like HTMX, Stimulus, Hotwire, htmz, etc. That I saw as giving power to the platform by using its technologies, along the "web grain": https://frankchimero.com/writing/the-webs-grain/

I hoped my frameworks would take on React, but I came to see there's more to tech than superior tech. It's about tribalism, too. Similar to beta vs VHS. Even tho React and Angular are inferior in many ways, the have the distribution mechanism, brand recognition, and "choice safety".

Ability to hit the ground running is oft-touted but I think it's less important than people think in front-end. Any really complex app ends up having to do its own weird stuff, that is non-intuitive respective the framework of choice, so hiring devs that "know React" is not super important as long as they know the front-end.

I think framework's are also about marketing. You can't just have superior tech, you need a pretty looking website, a catchy name, good design, too. But even if you have those things, it's no guarantee.

For me it would have been nice to have people adopt it -- tho perhaps it was not the kind of thing I would like to be maintainer of? I prefer products, like the successful ones I'm working on -- but the main thing was, and still is, that it is nice for me to use. It wasn't the only reason I created it, but it was the main reason: that I wanted a tool that I can use, and liked to use. And I created that, and still use it.

So it's successful like that, but not in terms of people using it who are not me! Tho, thanks to the popularity of some of the products (that we make) it's used in, it's install numbers get a boost because it's a dependency of those.

https://github.com/o0101/good.html