As company size grows, managers want to settle on a "standardized" tech stack that doesn't get in the way when they want to hire and fire people at will.
Nobody was ever fired for choosing React (or IBM). But everyone can get fired when they're working on a React app.
That's a very nice pattern indeed. If you add signals, the update function even gets called automatically. That's basically what we do in [Reactive Mastro](https://mastrojs.github.io/reactive/) ;-)
Congrats to Fred and team! Developing and maintaining a complex framework takes lots of funding, and I’m glad Astro found a new home that provides that.
With [Mastro], we have a different approach. The name originally stood for "minimal Astro", and we’re staying true to that. At just ~700 lines of TypeScript, Mastro will always be easily maintainable – even if by just a single person. And it's amazing how much you can do if you're very deliberate in your API's design.
It even loads the code snippets in separate HTTP requests :-(
But the snippets themselves are really good! I'm going to update mine on https://mastrojs.github.io
I totally agree that the goal should be teaching. But I do wonder which code someone is more likely to actually read and understand: the LLM-generated one in their own codebase, or the one hidden in some npm package they installed to just ship things. I honestly don’t know. Careless devs probably won’t read either as long as it seems to work
I’ve been trying to encourage forking my libraries, or have people just copy them into their codebase and adapt them, e.g. https://github.com/mastrojs/mastro/ (especially the “extension” libs.) But it’s an uphill battle against the culture of convenience over understanding.
Mastro looks like what I do for my offline-first, rendered from Service Workers. I just compose html template string literals and stream them back to the front end. The lib I use for HTML is a bit more powerful though. It is a very elegant way to program.
Nobody was ever fired for choosing React (or IBM). But everyone can get fired when they're working on a React app.
reply