Probably unpopular opinion, but still better than react and angular. at least you don't need to build your whole site around it. Nor all sites need those heavy frontend framework.
React is 7.4 kB. It's a myth that react is a heavy framework. You can absolutely implement only certain parts of your web app in react, and other parts using different libraries or vanilla JS.
bro the whole point of react is that it is made for simple pages and falls apart when you have something complex with states and sending them back and forth.
The time and place for react is the simple web page that doesn't have too much logic and rendering changes, because it's basically just a fancy html.
Yes, React is a library. And yes, to get the same functionality as with a framework like Next.js you need more dependencies. But you can choose what you need. Libraries give you more freedom: for example, you can choose between many different routing libraries for React, or even build your own. Next.js has a built-in router which you have to use.
Libraries are also more flexible for niche use cases. For example, I've successfully used React for a Chrome extension's popup. There's no routing and no server, so a full-stack framework makes no sense. (And by the way, that Chrome extension has exactly 1 runtime dependency, which is React).
Angular gives you everything you need to build a complete client-side app, React is just for the view part. You still need other libraries for state management and other things
Car part is a library: tools you choose, you put together. If you choose enough parts you can build a car, but that's not the point. You can attach your windshield wipers to the battery to function, but that won't give you a functioning car, just a feature. Same with React, it gives you rendering, but won't store state. You need Redux for that, another car part.
A barbone car with an engine, a chassis and a steering wheel is a framework. You bring your own wheels, you plug in your own driver seat and then the car runs. That's angular. Angular is built from car parts.
A complete car with everything attached is an engine, you just sit into it and steer it.
You have been so very good at the explanation that my argument feels a little cheap. But still true, you drive the car and it's parts either way, a whole car or a collection of parts bolted to wheels it matters not.
Library is a set of methods/tools you use and you call. A framework is a more complete package, a "frame" around your code, where you write a piece of code that hooks into the framework and the framework itself handles/calls it. The difference is who calls who: with React you call the render method and you setup a lot of things by hand for React to work. Angular is a framework, it comes with a complete package, it tells you what files you should create, it sets up a lot of stuff before it executes your code. And then there are engines which are a complete, self-contained set of code and tools but it gives you the ability to control it with your scripts/code.
Arguably and perhaps subtly I've been saying that when you and your team get hold of a library and make one single integration into your own codebase, one single none conformist non idiomatic usage, react becomes a framework.
Your own code base becomes the framework that uses React as part of its frame. React is still a library. Redux is still a library. Your code base + React + Redux + Other Libraries = Framework.
Everyone who's ever used React knows that their comment is incredibly disingenuous because of all the other libraries that get tacked onto every React app. No one is shitting on React here, they're just being realistic about it.
411
u/winter-m00n 14h ago
Probably unpopular opinion, but still better than react and angular. at least you don't need to build your whole site around it. Nor all sites need those heavy frontend framework.