Good read on twitter.
I feel like a lot of popular frameworks could be completely replaced with better docs about how to build things with platform features and ala-carte libraries. how it usually shakes down: "I want to do X." "Framework Y does X." "I must learn framework Y to do X." but there are few resources available for how to do X outside of Y, even when Y is largely superfluous this documentation problem is compounded by how popular projects can bring in resources to either pay people to work on docs or somebody can otherwise build their career around a big bundle of semi-related features called Y the downside of this phenomenon is when you have a problem that doesn't quite agree with the assumptions of the core framework, you'll spend a huge amount of time fighting against those assumptions. often many times more effort than writing something from scratch. and the discourse around "from scratch" is that it's just about always more wasteful, but I haven't found that to be the case. and when you use appropriate decoupled libraries (that you can easily throw away or swap out), it's no more wasteful than using a big framework. with the upside that you can incrementally refactor the stack as your assumptions change because the components are relatively less coupled. It's a bit of work to set things up this way, but it's not a huge amount of effort or anything. the main hurdle is convincing other people to take this more modular approach, which is very hard to do. partly because something with slick marketing and lots of usage is considered "safe" even if you know from experience you're going to encounter huge maintainence burdens later plus the paternalism of the framing in technology marketing about "teams" along with the desire to hire around commodity skills and not wanting to spend any time on training because this is such a pervasive phenomenon, building things from scratch (+ala-carte modules) is a less common skill, which shapes perceptions and makes the status quo stick. but I don't think it's an intrinsically more or less difficult approach, just different.