"...while a framework will let you create standard solutions to standard problems very quickly, you always then have to add that little special sauce that makes your app unique, and that is where the frameworks can slow you down instead of speeding you up. Vanilla coding, on the other hand, is just as fast whether you're doing something "normal" or something unique to your particular app."
I've been saying this for years and always get heavy push-back by the framework proponents. I've also encouraged them to look at history. Ten years ago, it was ALL about Backbone. Then Angular came around and it was ALL about Angular. Then React came around and it's currently ALL about that. But, wait! Now Vue is starting to gain some traction. In 3-5 years it'll be ALL about Vue.
My point is this: if the frameworks are so great and all-encompassing (I've literally heard, "you can build anything with [FRAMEWORK]. You don't need anything else!"), why doesn't one of them stand out so solidly that nobody would think to create another one? Why do we, like toddlers grown tall, keep rushing to the next latest and greatest shiny object that catches our eyes?
I agree with your point, but having worked extensively with React, it really does make development easier for me. While it feels like there is always a new shiny front-end framework out there, the ones that stick out like Angular, React, Vue, etc. all have real value that developers like! So I don't really see it as a bad thing.
I don't deny that they make things easier. But there's a cost to that, sometimes a significant cost. In my experience (and confirmed by others I know--including the author of the post), frameworks get you to 80% of where you need to go in a project _really_ fast. The next 10% takes a little effort but it's not impossible. But that last 10% is like pulling teeth from a lion. That's because inevitably the project has requirements that the framework designers didn't and couldn't think of.
I submit that that last 10% is the reason why OP got more done faster with Vanilla than he could with React.
> (I've literally heard, "you can build anything with [FRAMEWORK]. You don't need anything else!")
That's always a lie. Take a logarithm of the number of subdirectories in node_modules, and subtract the logarithm of subdir count of node_modules for framework's hello world, to get an estimate of how much other stuff you're using.
I know. But that's how these guys think. They don't actually know the fundamentals. It's almost comical. My business partner worked with a guy a few years ago who, after running npm install on something was dazzled by what he had running. My business partner pointed out, "you have 400,000 files in a project that doesn't actually do anything." The guy didn't get it.
It sounds to me like you're lacking a fundamental understanding of what's in node_modules. The lion's share of it is related to the dev environment and build system, very little of it is actually "source" that gets bundled into the output. What you're saying is basically the equivalent of including the size of the JDK in with a Java project.
I've been saying this for years and always get heavy push-back by the framework proponents. I've also encouraged them to look at history. Ten years ago, it was ALL about Backbone. Then Angular came around and it was ALL about Angular. Then React came around and it's currently ALL about that. But, wait! Now Vue is starting to gain some traction. In 3-5 years it'll be ALL about Vue.
My point is this: if the frameworks are so great and all-encompassing (I've literally heard, "you can build anything with [FRAMEWORK]. You don't need anything else!"), why doesn't one of them stand out so solidly that nobody would think to create another one? Why do we, like toddlers grown tall, keep rushing to the next latest and greatest shiny object that catches our eyes?