r/ProgrammerHumor 2d ago

Meme ancientTools

Post image
5.8k Upvotes

387 comments sorted by

View all comments

Show parent comments

86

u/A1oso 2d ago

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.

10

u/ludolfina 2d ago

Node apps are heavy during development but tiny once deployed

37

u/listenhere111 2d ago

Ok, and how many dozen people actually do that?

There is a time and place for react. It gets overused for simple web pages. Its bloat and complicates projects.

21

u/phl23 2d ago

Simple webpages with react are very lightweight and when you use server side rendering even more. No jQuery can ever achieve this.

-4

u/[deleted] 2d ago

[deleted]

5

u/ackermann 2d ago

And so what should one use for more complex web pages and web apps?

1

u/ChrizKhalifa 1d ago

Angular and Redux.

15

u/PlasmaFarmer 2d ago

React is not a framework, it's a library.  And yeah React is that much kB but how about the gazillion libraries you add to get a functional app?

4

u/ExtraWorldliness6916 2d ago

What is a framework and what is a library

5

u/ludolfina 2d ago edited 2d ago

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

7

u/clocked__ 2d ago

One is a car you can modify, and one is car parts

3

u/Kovab 1d ago

You wouldn't download a car

2

u/ExtraWorldliness6916 2d ago

Can I drive the car part?

3

u/PlasmaFarmer 2d ago

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.

1

u/ExtraWorldliness6916 2d ago

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.

4

u/PlasmaFarmer 2d ago

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.

1

u/ExtraWorldliness6916 2d ago

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.

3

u/PlasmaFarmer 2d ago

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.

2

u/A1oso 2d ago edited 2d ago

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).

1

u/Honeybadger2198 2d ago

People love to bitch about React on this sub and I get the feeling that the majority of them know nothing about it.

1

u/gizamo 2d ago

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.