DEV Community

loading...

Is React really that bad?

psycoder01 profile image Aakash Chaudhary ・1 min read

I'm seeing many people claiming React is bad and comparing to other frameworks like Vue, Svelte or even VanillaJS (LOL). My opinions on this war:

1. Bundle Size

React is a library where you integrate different things . So bundle size gonna increase for sure. But you also get the good functionality.

2. React is slow !

Well , React is slow ! everybody knows it. But there are things which can be done to make the overall performance faster. Lazy, Purging , Compressing. Pure HTML is still the fastest and will be forever.

3. Large Code length

This really makes me laugh . It's like comparing two people by their height not by their skills. Oh ! He is only 4 feet so our office will have more space for others. Nah! He is too tall for our office . LOL!!! The difference is not quite that large to be worried about in the code length of different frameworks.

4. Backed by Tech Giant

You know! It's still an open source project. Doesn't really matter if it's backed by a Tech Giant or a single person. It's a tool given to the whole community to use it.

5. At last everything will be JavaScript

No matter what framework or library you use ( Angular, Vue, Svelte or React) , at last it is our plain old javascript running in the browser.

You'll end up using React once in your lifetime unless you change your career . So stop comparing and start using what you are comfortable with.

Discussion (7)

pic
Editor guide
Collapse
shinabr2 profile image
ShinaBR2

My opinion, I am not a fan of any library like React or Vue.
I like React, the most two important things are: declarative API, and simple thinking. These two reason lead to another thing: React's ecosystem. That is the most impact thing lead people using ReactJS, included me.
Choosing a library or any technical stack is relative, for me, depends on two most important criteria:

  • First, which problem should be resolved?
  • Team capacity.

The second one is crucial.

Everything has its own price. If you want to take time into bullshit things like reinvent the wheel, choose whatever you like. Otherwise, like me, chose React with no doubt. Because of its ecosystem, I almost take my time on business logic.

Collapse
matthewpardini profile image
Matthew Pardini

Bundle size is what you make of it. If you want a small bundle, code split and render on the server. Webpack does tree shaking as well, so your bundle shouldn’t be bloated even on basic projects out of the box. But not all projects care about bundle size. I work in react on a desktop application. We don’t care about google speed scores, as long as it loads relatively quickly. React isn’t just used for websites

Collapse
psycoder01 profile image
Aakash Chaudhary Author

Thank you for the comment. It's upto the developer to optimize things not by the framework itself. Good Points ! Much Appreciated!

Collapse
shawticus profile image
Shaw Walters

React is a great tool, but it isn't appropriate for a lot of projects.
For example, how do you bind a WebGL game engine to React UI state without duplicating your engine code into Redux or wrapping everything with observables, like with mobX?
Webpack can't build a proper ES6 library (yet), so modulizing React applications is a whole fun thing. Could you toss Webpack for your create-react-app starter, implement Rollup with Babel and make an ES6 library to work with the rest of your front end code? Yeah, but that's gonna take you a lot of time to figure out unless you've done it a lot.
People are looking at the wrong things. Loading Javascript is nothing compared to downloading it on a mobile connection, and for wired connections you usually have a faster CPU to load the JS.
Modern websites don't move slow because the React site is too big, they move slow because we are throwing a ton of tracking, realtime updates over sockets, large media content, etc to mobile devices over shaky TCP connections which are subject to slow start, head of line blocking, etc. -- nothing is slower than 2G/3G cell connections.

Collapse
psycoder01 profile image
Aakash Chaudhary Author

I don't know much about WebGL so gonna skip that. I totally agree that Site don't move slow because of React . That's my main point. I mean like people are not optimizing their sites and throwing 1.5 MB jpg file on the Portfolio main page which obviously gonna kill the performance and bandwidth. Rather optimizing things , they like bashing React because It has bigger bundle size than other frameworks(vue or svelte) and big code length which is a total misunderstanding. I'm not saying React is best for every project but can provide a good functionality overall if used properly. Thank u for the comment ! Much Appreciated!

Collapse
yellow1912 profile image
yellow1912
  1. Bundle size matters, especially for frontend projects. Slow cold start can turn away potential users. People who work more on frontend projects are quite obsessed with shaving off just a few seconds.
  2. Speed matters, no one like laggy app. I dumped angular 1 because it was very laggy to the point that we had to adapt our ui to speed it up.
  3. Ease of use matter if you want the whole team to participate in it. Vuejs for example has a low barrier of entry, basically any old school js dev can pick it up and start working on it fast. Many other frameworks ask you to learn typescript and a bunch of other new features.

I'm not bashing react in any way. Each library has its own place. But there are valid reasons for people to choose (and not choose) any framework/tool.

Collapse
psycoder01 profile image
Aakash Chaudhary Author

It's totally personal choice and easy of way for choosing the right tool. As comparing , there is no like huge bump in speed and bundle size between react and (vue or svelte). I totally appreciate your point of view. But as you can see these days , some dev's are literally bashing react and saying It's too large and slow . Thank you for sharing your opinion.