DEV Community

Cover image for You don’t need React for building websites

You don’t need React for building websites

Silvestar Bistrović on July 27, 2021

Here’s what I think: if you are building websites, you don’t need React (in most cases). I have been building websites for over nine years now. As...
Collapse
 
galatagirmaye profile image
Galata Girmaye

Frameworks are for ease of development and coding. using react may not be mandatory but it will help you have well organized and faster website than those with pure HTML,CSS and vanilla javascript. at the end of my comment you are right tho.

Collapse
 
rutujr profile image
Rutuj Runwal

Absolutely agree with you.Not only this but also the fact react adds a sense of scalability to your applications/sites.So you can grow easily using this frameworks without any hassle.Plus there are thousands of developers already building more and more packages and functionalities for react so it becomes a go-to stop for many developers.

Collapse
 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦
Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

The idea that a react application will necessarily be faster than one written in plain javascript seems quite absurd to me. There's no magic behind react; it's ultimately still just javascript and any competent developer will be able to write an application without a framework that's as fast and even faster given enough time. Development speed is the interesting measurement here, not application performance.

Collapse
 
emmanuelbenson profile image
Emmanuel Benson

In terms of faster, I am still of the opinion that your plain css, html and J's will perform better

Collapse
 
solsen_tl profile image
Steven Olsen

I recommend every junior developer start out by building a few websites from scratch (vanilla js/css/html).
Only THEN can you understand the benefit of what any framework brings to the table. Otherwise you can't differentiate between what's doing what.
Having said that, React/Vue/Ng/Svelte are popular frameworks because:

  • they take care of redundant plumbing in every project
  • force some best practices including security (like no XSS/CSRF)
  • have nice plugin systems for adding yet more time-saving libraries
  • create a shared set of how-to-do's for teams (like code structure, unit testing, etc)
  • hopefully reduce some code bloat / wiring due to abstractions and namespacing

In one word, frameworks enforce STANDARDS, which are critical on team projects. There is also much flexibility there, so no they are not a silver bullet, and not even essential. But they do help a lot!

Collapse
 
romeoks profile image
Romeo

I'm at the point of applying vanilla JS to exercise projects after a few months of learning and I'm happy that when I started some friends told me to stick to vanilla before any framework, and of course I listened to their advice.
The only thing that's catching my eye at this point is Jquery, because I saw some easy solutions in Jquery vs vanilla JS.
But, until I'll have a good grasp and understanding of how and what can I use in order to finish my projects with JS, I won't move to any framework because I firmly believe that we need to crawl before walking or running.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

These days, almost nothing is easier in jQuery unless you're targetting older browsers. Many "jQuery vs. Vanilla" examples specifically use very old APIs that are even less relevant now than however many years ago those comparisons were made.

Thread Thread
 
romeoks profile image
Romeo

Thanks for the tip. 👌

Collapse
 
solsen_tl profile image
Steven Olsen

You're taking the right approach! A framework can only make something "easier", but you need to know what is "hard" first.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Going at this with a bit of unix philosophy: I think all these are very valuable things, but I'd much rather see them taken care of by different tools. Behind-the-scenes plumbing is really a task of its own, and should thus be taken care of by a distinct component.

The same goes for your other points, but one of them is specifically interesting: the "plugin system"; this is precisely what a module system on a language-level should do. A well built module should work almost like the plugins you're describing: pull them into your project somehow, maybe add minimal boilerplate, and have a new functionality that just works.

Lastly, the best practices part can also be achieved in a more modular way: using code standards and enforcing them with automation. No need for frameworks here; just throw a linter into your CI.

Collapse
 
solsen_tl profile image
Steven Olsen

UNIX is a good analogy. Individual, specific tools can go a long way to abstracting out manual/redundant details. However, even the wiring up of these specialized tools can cause a high cognitive burden, which usually slows down the project development in a team environment. With a framework, you can point a new developer at good documentation to get them onboarded quickly for example.
I agree that languages can (and should) have a "plugin" system -- that doesn't mean frameworks shouldn't or can't too! It's a design principle more than a feature.
Not sure where to put this point, but many security "best practices" disappear from a developer's cognitive load because the framework just enforces them out-of-box. This cannot be understated. It's only a convenience, but a HUGE one.
Again, I'm not saying everyone has to use a framework for everything. I'm saying that there are definite reasons that frameworks are popular and useful. Marketing landing pages almost never need one, for example, but web apps bigger than one page typically do. My general advice is simple: don't use a framework unless you (might) need one for your project :) Like all good answers, "it depends".

Thread Thread
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

I agree that languages can (and should) have a "plugin" system -- that doesn't mean frameworks shouldn't or can't too! It's a design principle more than a feature.

Indeed. I wasn't so much trying to argue that frameworks, when they are built, shouldn't have a plugin system, but that we don't need frameworks for their plugin system, because most languages already have similar mechanisms.

Not sure where to put this point, but many security "best practices" disappear from a developer's cognitive load because the framework just enforces them out-of-box. This cannot be understated. It's only a convenience, but a HUGE one.

As I mentioned, this can be mitigated to some extent using automation, like code linting and automatic testing, but even before that, smaller libraries can build their APIs around enforcing best practices just as frameworks can.

Like all good answers, "it depends".

Not only that, but it's also that different people will draw the line at different places. 😁

Thread Thread
 
d7460n profile image
D7460N • Edited

Not sure where to put this point, but many security "best practices" disappear from a developer's cognitive load because the framework just enforces them out-of-box. This cannot be understated. It's only a convenience, but a HUGE one.

Also malicious NPM security vulnerabilities.

Collapse
 
stojakovic99 profile image
Nikola Stojaković

There is always a trade off, but React applications are not noticeably slower if they're engineered properly.

Thread Thread
 
ravavyr profile image
Ravavyr

Personally, the trade off on the JS frameworks is massive.
NPM modules alone is a mess. Most people install far too many dependencies and don't understand what the dependencies actually do.

Having a 5-10mb bundle is considered "normal", which is terrible for performance no matter how you slice it, because it's what hurts the FIRST page load.

Sure subsequent pages are faster and for an application where everyone hits the login page first this might be ok, but for websites it's not because people will be arriving on random pages from search engines.

To prove you don't need 300mb of node modules, i made taino.netlify.app it's 1 script file to build SPA websites and it's 13kb uncompressed, about 3kb when compressed. It also gets indexed by google [Search for "Taino JS" and you'll find it]
Most small business websites could do this and have a web presence without a dozen build tools, compilers and other nonsense.

Collapse
 
khorne07 profile image
Khorne07 • Edited

I'm a React developer and I totally agree with you, for a simple website React is not needed and in fact is not recommended either. React is for complex scalable web apps with much dynamic content. For a website not too complex is more recommended to use a lighter framework like Svelte or just go on with web components (html, css and vanilla js). The problem is that recruiters, CEOs and other leaders of enterprises do not know about what exactly they need and just guide them selves by the trendings. And newbies or inexperienced developers just learn how to use a tool (React, Vue or any of this kind) and want to solve every single problem using that tool.

Collapse
 
orofbrown profile image
Mike Young

Agreed! I would go even further to say that React makes web components completely irrelevant

Collapse
 
khorne07 profile image
Khorne07

Na you are going too far on that statement. Using microfrontend architecture you can combine React components with common web components without any problems. I agree that you should not use React when you don't need it but React is a really great tool. Many devs complains a lot because React doesn't use html, intead it uses JSX, but once you understand JSX is a really satifying tool to use.

Thread Thread
 
orofbrown profile image
Mike Young

Ok bud. It's called an opinion. I think web components require way more boiler plate code than React components do and React gives you a whole lot more on top of that.

Thread Thread
 
khorne07 profile image
Khorne07

Yes that's true, but the thing is that web components and some sort of universal staffs. Like I said I love React and is the tools I use everyday, but not everything requires React, the good thing is that actually are other tools in top of React that allows you to do everything with it. But I think the real future is microfrontends, where you can combine components made in different technologies and build great things with all blended

Collapse
 
ferittuncer profile image
Ferit Tunçer

I was in your shoes, saying why the hell I should use a web framework for a website? Then I realised two things:

  • Dynamic content, such as internationalisation, are easier to implement and optimize with frameworks.

  • There are built-in optimizations to benefit from, instead of implementing them yourself from scratch. For example, Gatsby, works on top of React, has very handy prefetching, lazy loading, and image optimisations. Sure, you can do these with plain JS too, but do you want to implement all these instead of just using someone elses work?

Apart from that, I agree with you that a software engineer should be mindful about tool selections and should avoid going overkill. Perfection lies in simplicity.

Thread Thread
 
bello4 profile image
bello oladepo

I definitely agree with you.
React makes life easier if you value time and speed.

Collapse
 
lexlohr profile image
Alex Lohr

I think the main issue here is a misunderstanding: one of the paradigms of react is that it makes it simple to share and re-use components. What managers often don't realize is that this also makes it difficult to write components to be shared and re-used. So they only see the benefit of react, but not the cost.

That being said, react can be helpful for more complex web apps, but for a normal website, it is maybe not an ideal choice.

Collapse
 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

By refusing to work with HTML and the DOM, React makes it harder to share and reuse components

Collapse
 
lexlohr profile image
Alex Lohr • Edited

That depends. It's simpler to share with other react-apps. With everyone else, not so much. In any case, it doesn't seem a coincidence that Facebook developed a framework based on a technical lock-in.

Thread Thread
 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

That's an interesting definition of "share" you got there

Thread Thread
 
lexlohr profile image
Alex Lohr

That's an interesting opinion you got there.

 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

React native will be the death of the web.

We take it for granted that our grandchildren will have a world wide web, but it's not a given.

"Your tech stack doesn't matter, the only thing that's important is solving business needs" is how were going to lose the web to app stores, binary blobs, and (increasingly state controlled) proprietary silos.

Technology choices aren't neutral, they have a moral value. The open web, built on standards that belong to everyone, is a moral good. Whether or not future generations will benefit from that good is up to us as developers, at least in part.

Collapse
 
efpage profile image
Eckehard • Edited

Using pure HTML, CSS and JS may give you some headaches, if your project grows. This is mainly caused by the conceptual weakness of HTML, which was not designed for the things we do today. Do you think, its possible to create any website or web-app without the use of HTML?

In fact, it is! The html-dom-api exposes alle the functionality of HTML to javascript, so using HTML is actually a detour around creating your page content. About two years I tried this approach with the DML-project, first as an experiment, but it came out to work pretty well. In the meantime, several projects have been finished, from simple websites to more complex applications. Using JS on the DOM directly is quite fast and gives you new options like "strong encapsulation" without the overhead of a massive framework. A DOM element created within a JS class object is just exposed to this object, not to anything else. This is one of the many advantages.

In any case, this is an interesting approach you can check out, the project is open source and can be used for free. It was already presented on dev.to some time ago. So I appreciate your comments.

Collapse
 
manuartero profile image
Manuel Artero Anguita 🟨 • Edited

(A quick side note): React isn't a framework but a library. Subtle (but relevant) difference. Next is a framework. React isn't controlling the boot of nothing. It's a library.

Apart this nitpick, I do agree with this post. Totally.

--
s. A guy developing in React

 
ravavyr profile image
Ravavyr

I'll add some more:

  • When debugging you're mostly debugging React/Vue/Angular problems, not Javascript. Requiring someone to learn new syntax for methods that do exactly what vanilla JS does already is kinda dumb.
  • Not understanding dependencies leads to things breaking and you can't fix them unless someone on stack overflow solved it or your dependency actually has a community and active devs writing fixes. Again, vanilla JS problems all have solutions documented a thousand times over across the web.
  • SEO is not easy to implement without additional dependencies. A website needs proper SEO structure, why the frameworks don't make this the default [eg, every page must have a title, a description, a canonical url, and every link that opens a new window should have rel="noopener" on it, and a robots.txt and a sitemap.xml should be autogenerated by the framework. That's minimum.
  • On top of all of this accessibility is mostly forgotten, not even a foot note unless you're a large company, the frameworks could solve most of this by building it into their platform. Google and Facebook have the dev power to do it, but haven't.
Thread Thread
 
stojakovic99 profile image
Nikola Stojaković

NPM modules alone is a mess. Most people install far too many dependencies and don't understand what the dependencies actually do.

I agree that NPM modules are massive, but developers are those who should care that there aren't unnecessary modules installed on the project.

Having a 5-10mb bundle is considered "normal", which is terrible for performance no matter how you slice it, because it's what hurts the FIRST page load.

5 to 10 MB bundle would be a disaster. This is something which should be watched on during optimization period before the launch. It's not normal at all.

Sure subsequent pages are faster and for an application where everyone hits the login page first this might be ok, but for websites it's not because people will be arriving on random pages from search engines.

And that's the reason why we have server side rendering. There are Gatsby and Next.js beside other solutions.

To prove you don't need 300mb of node modules, i made taino.netlify.app it's 1 script file to build SPA websites and it's 13kb uncompressed, about 3kb when compressed. It also gets indexed by google [Search for "Taino JS" and you'll find it]
Most small business websites could do this and have a web presence without a dozen build tools, compilers and other nonsense.

That's nice but you need to count multiple things;

  • employing developers - how many React developers there are and how many Taino JS?
  • ecosystem - how many libraries exist for React and how many for Taino JS?
  • community - how big is React community and how big is Taino JS? How easy it is to get help when you're stuck? Who stands behind them?

Don't get me wrong, I'm not saying this to undermine Taino, I'm just talking about the way industry works.

Thread Thread
 
stojakovic99 profile image
Nikola Stojaković

When debugging you're mostly debugging React/Vue/Angular problems, not Javascript. Requiring someone to learn new syntax for methods that do exactly what vanilla JS does already is kinda dumb.

This is true for using pretty much any library - does it mean people should stop using libraries at all and start writing everything from scratch? I don't think so.

Not understanding dependencies leads to things breaking and you can't fix them unless someone on stack overflow solved it or your dependency actually has a community and active devs writing fixes. Again, vanilla JS problems all have solutions documented a thousand times over across the web.

Same question as above. Yes, working with dependencies is hard sometimes, but how do you think you can write modern web applications without additional dependencies?

SEO is not easy to implement without additional dependencies. A website needs proper SEO structure, why the frameworks don't make this the default [eg, every page must have a title, a description, a canonical url, and every link that opens a new window should have rel="noopener" on it, and a robots.txt and a sitemap.xml should be autogenerated by the framework. That's minimum.

I don't know, I find Gatsby pretty straightforward. It generates everything I need, from the pages to sitemap.xml.

On top of all of this accessibility is mostly forgotten, not even a foot note unless you're a large company, the frameworks could solve most of this by building it into their platform. Google and Facebook have the dev power to do it, but haven't.

You can use linter for this. It will warn you whenever you're making something which is not accessible. You can't really expect from UI libraries to have millions of things out of the box. Do one thing and do it great - that's the philosophy which libraries should follow in most cases.

Thread Thread
 
stojakovic99 profile image
Nikola Stojaković

These are pretty much all trade-offs you have to make when you're writing anything a bit more complex than a simple static website.

Thread Thread
 
ravavyr profile image
Ravavyr

Gonna try to respond to each of these:

I agree, we shouldn't write EVERYTHING from scratch, but A LOT of npm packages are 5 lines of code that anyone CAN write and understand versus install and have no clue what it's doing.

WE CAN write modern web applications without a multitude of dependencies. indiegameshowcase.org is fully vanilla JS SPA [The frontend has tinymce, the rest is just javascript] with a NODE backend.

The backend has only the following dependencies:
"dependencies": {
"@pm2/io": "^5.0.0", [for logs]
"aws-sdk": "^2.962.0", [for file uploads]
"dotenv": "^10.0.0", [environment files]
"email-validator": "^2.0.4", [validate emails]
"express": "^4.17.1", [actual server stuff]
"express-blacklist": "^1.0.3",
"express-defend": "^1.0.9",
"express-rate-limit": "^5.3.0",
"express-session": "^1.17.2",
"mailersend": "^1.1.0", [send legit emails]
"multer": "^1.4.2", [upload files]
"mysql": "^2.18.1", [database]
"password-hash": "^1.2.2" [secure passwords]
}
I don't think it could be done with less without recreating a TON of code.

"Do one thing and do it great" is nice in theory, but in reality it causes far too much abstraction and you end up with 20 libraries written by 50 different developers and it's all code you don't understand. More often than not you can write the same functionality easily, but newbies don't know so they pile them on and you get a 15MB bundle. Google "React bundle size" and look how many articles are there just to tell people how to reduce it by removing crap they don't need, or worse, install more libraries to do it.

Linters make developers lazy because they stop understanding how to debug their code, and really most of the stuff linters do is pointless crap like "80 characters per line" or "new line at end of file" or "remove semi-colons"....like none of these things improve your code and basic syntax errors already show in VSCode and other editors.

Linters also do not teach you accessibility, they have automated rules you can follow, but this only does part of it. People think accessibility is just code rules, but there's an "experience" that you need to build for accessibility and that's 75% of it that most devs using tools for it, don't accomplish correctly.

Gatsby doesn't set up everything you need for SEO, and it's another package you install that you don't have a full understanding of, which isn't necessary. [Gatsby of course is useful for other reasons]

You don't have to agree. This is just my opinion from years of working with other people's code.

Collapse
 
sandorturanszky profile image
Sandor | tutorialhell.dev • Edited

Not using tools to become more productive is a bad idea in general for any website.

Think of GatsbyJS for your website or blog. It is dead simple. And yet, using react does not introduce complexity nor does it make things complex for your blog. And you also benefit from easy deployment pipelines designed for this tool.

Sooner or later you end up reinventing the wheel by going vanilla JS. It's imperative to know JS fundamentals and understand well how FW and Libs work under the hood.

But using Vanilla JS just because React seems like an overkill is counter productive.

The idea of building custom FW died many years ago.

Companies ask for React because it is indeed a mature tool with great ecosystem.
When your project is built with a tool that most people know, finding people for your team is way easier than explaining how a custom framework works.

No matter what I build, my most important criteria is time to market, performance, SEO, scalability, cost of running and easy deployment.

Why use custom JS or CSS when I can use a well tested solid tools instead to save time both on development and fixing bugs.

Collapse
 
jwhenry3 profile image
Justin Henry

The sad thing is if you advertise a position for web development and ask for someone with HTML, CSS, JS, you do not have a good basis for what the developers are capable of. If you provide a framework when looking for engineers, you will know that they at least are capable in that framework, which implies that they know HTML, CSS, JS.

Yes vanilla is faster, but how long does it take to build robust webapps and fully featured web sites that require complex solutions?

Frameworks imply that an engineer has a base set of skills in addition to just knowing how to construct a static page with minimal dynamic content.

Collapse
 
otacke profile image
Oliver Tacke

I am not sure about that implication about knowing JavaScript if React is known (anymore). I would have agreed with you until recently when I was introduced to a developer who supposedly knew React but that needed to be explained some rather basic JavaScript principles. That developer seemed to have come quite some way by being able to stitch React components together without actually knowing what's going on underneath.

Collapse
 
jwhenry3 profile image
Justin Henry

That is just sad, frameworks should be icing on the knowledge of HTML, CSS, JS, not a replacement.

Thread Thread
 
otacke profile image
Oliver Tacke

Couldn't agree more.

Thread Thread
 
shawnhansen profile image
Shawn Hansen

While true, it's also true that frameworks are a gateway to language learning.

Back in the day, mid-2000s, I was able to stitch together a pretty decent (at the time) web app using Ruby on Rails despite not knowing the Ruby language very well. Using RoR was a gateway to learning Ruby.

I think the same applies with things like React. It's a gateway for some to learning JS. I'm all for whatever gets people in the game.

Thread Thread
 
otacke profile image
Oliver Tacke

I believe frameworks can be a gateway to learning the basics, but still I don't believe that only knowing the framework makes you a professional developer that someone would want to hire. The main point that I answered to was "If you provide a framework when looking for engineers, you will know that they at least are capable in that framework, which implies that they know HTML, CSS, JS."

Collapse
 
tomchambers2 profile image
Tom Chambers

A website of any real complexity is going to require a framework like React to manage state and divide up components. Yes of course you can built websites in vanilla javascript but you're going to either be writing your own framework from scratch or hit the limit of what's managable quite quickly. Some examples of sites you think should be built without frameworks would be helpful in making the argument.

Collapse
 
starbist profile image
Silvestar Bistrović

Any of the sites in my portfolio is a non-React site: silvestar.codes/portfolio/.

Collapse
 
rdentato profile image
Remo Dentato • Edited

That's a problem I see with many frameworks/libraries today.
Even BEFORE knowing what we have to do, someone has decided that we need tons of lines of code we'll never use. Just because <script src="..."/> seems cheap.
Frameworks are great and libraries are life saving but using something just for the sake using it is becoming too much of an habit! (EOR = End of Rant :) )

Collapse
 
puruvj profile image
PuruVJ

The amount of people in the comments who do not understand the difference between website and webapp is killing me 😔

Collapse
 
junihh profile image
Junior Hernandez

The truth is that I still do not digest how there are people who do not differentiate between the overuse of what is necessary. My father used to say that "not all that glitters is gold" and using resources in projects that only make their entry into production complex just because others use them does not make sense.

Collapse
 
oniichan profile image
yoquiale

I tried learning React because of the hype but was vastly disappointed. I hated the way it worked. Maybe I'm biased because I love both Vue and Angular's templating system and proper separation of code.

Collapse
 
junihh profile image
Junior Hernandez • Edited

Same here but with Vue only

Collapse
 
pozda profile image
Ivan Pozderac

I am both web app and website developer so there's that.

I use 11ty for websites (this minimalism approach is IMHO best approach to use for websites), but also I am guilty for using GatsbyJS which is writing static sites with React.

But do you really need React for building websites? Not at all!

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Honestly, I wouldn't call any SSG with more than 500 lines of code "minimalist"

 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

Preact is a fine choice.

Lit has the advantage of running directly in the browser without need for transpilation. You can get that with preact using htm instead of jsx

But really it comes down to this: as the user of your components, I don't really care which library you used to write them, I only care if they work with my app.

React fails that test, preact and lit pass.

Collapse
 
cameronnickert profile image
cameron-nickert • Edited

There's benefits to React and it sounds like you have never been able to reap the benefits because you've never successfully used it. This is a silly article. Why use Kotlin when you can just use Java. Why use Java when you can use C++. Why use C++ when you can just use C. Why use C when you can just write assembly. Why write assembly when you can just write binary. You see how silly this is? We create new languages, tools, and frameworks overtime to make development easier. React is a solid framework that can speed up development and lower the complexity of your code. If you think Native JavaScript makes your code less complex, thats only because you're familiar with it. Overall, this article was nonsense.

Collapse
 
paultechiesapp profile image
Paul Lee

Can't agree anymore. It is quite funny that in 2021, there are still people thinking that writing vanilla code like PHP without Laravel, JavaScript without React.JS, React.JS without Next.JS is not really feasible for long run. The main reason of developing a web app is for its portability not really for its simplicity.

Yes agreed that every new developer should learn the fundamental of how a Web application (HTML / CSS / JavaScript) is running on a web browser. But bear in mind, in the end of the day, the application has to be maintainable in the long run if it is going to scale up on business wise or on architectural wise.

For example, ok let say a business start with a simple website showing that he is selling bicycle a simple web portal build in Vanilla HTML, CSS and JavaScript, yes developer is super quick. After 2 months, there are new requirements coming in, the customer of the business requires e-commerce functionality from the website, yes the development team can continue to build it using vanilla HTML, CSS and JS for its cart and checkout functionalities. Another 2 months later, if the business requirement requires extension of functionality of cart function on let say adding B2B functionality for bulk purchases, RFQ function, bicycle stickers customisation features etc, is pure HTML, CSS and JS capable? Yes capable, how long does these development needs without any framework or any library? Business requirement will just be getting heavier and heavier.

We use React / Vue / Angular and many other more not because we can't type Vanilla JavaScript, it's because these frameworks are already a set of development toolkit to enhance the development experience, improve the robustness, simplicity of including the broad library of NPM, improve the maintainability for the real world development scenarios, etc.

So the reason of choosing vanilla HTML/CSS/JS for web-dev over frameworks/libraries is purely outdated.

Collapse
 
sakethkowtha profile image
sakethk

What i feel is if a person knows react js definitely that person will have an idea on Ecmascript, Closures, npm / yarn, Webpack, Promises, Axios / fetch, Reusable components etc... This might be the reason 🤔

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Dunno, haven't used react myself, but my experience with frameworks is that, even if they use the more advanced language features, they often also make it easier to cargo-cult your way through those features by blindly copying code patterns and understanding only their effect within the framework, but not their actual semantics on a language-level.

Collapse
 
rangercoder99 profile image
RangerCoder99 • Edited

Using Next.js as a static generator for all my smaller web sites now it makes things more easy and lots of painfull extra stuff is done by Next.js! Also React components are more easy to work with like I only got a small part of 'html' not spend hours scrolling over 1000s of html code trying to find that comment in one ocean of div tags, I can repeat and reuse stuff and things like sass or tailwind are really easy to setup and use!

Collapse
 
blowfish profile image
Blow Fish

Plus things such as automatic image optimisation, incremental static regeneration make your life alot more easier. Imagine coding a framework just to do what a framework like NextJS can get it done in seconds.

Javascript ecosystem matters alot.

Collapse
 
myk profile image
Mayank Yadav

You are absolutely correct, most of the developers face a lot of struggle in there early stage of learning React or some other frameworks...and even I faced because what I think is many developers just jump from JavaScript to the React without getting all concepts clear.
Why are these frameworks/Libraries come into existence when we can already make our website using HTML, CSS & JS. It is so because it makes the developers life much more easier by writing effective and much smaller code. And there are plenty of pros and cons too. But using some helping tool is just a add-on to your project.
______________________________Happy Coding🐱‍👤________________________________

 
mightycoderx profile image
MightyCoderX

Bruh, jQuery is just useless bloat nowadays for most small websites

Collapse
 
iiianous profile image
Ian Mostar • Edited

The thing is if you're Frontend developer most likely you will build medium-to-large applications that scale. If you are using just that 3 (JS, HTML, CSS) stack it would make a huge mess, imagine hundreds and thousands of statics files/css nowhere to be re-used.

Vanilla stacks (JS, HTML, CSS) I will agree, it is good for small sites.

Collapse
 
lewiscowles1986 profile image
Lewis Cowles

Hey Silvestar. Great to see you here;

I 100% agree react should not be a requirement, but I would encourage further learning adventures, even if just for the sake of learning.

I learned react back in 2015. I re-learned it in 2018, and in 2021 I'm still finding cool uses for it including accessibility for certain features (live chats).

I do not use Gatsby, 11ty, I have incredibly unkind views towards them having seen their use; but tools being misused is not an indictment of the technologies that they are created with.

Collapse
 
rleddy profile image
Richard Leddy

I started using Svelte. I got stuff done pretty fast, and I was able to do most of what I wanted to do with a nice ease. copious-world. Maybe someone wants to contribute.

I used a set of components OAT some years ago. It was pretty good. But, every stared using jQuery. And, OAT hasn't changed much in a long time.

There are some frameworks that are just better than others. In particular, you can get benchmarks on running the frameworks. React and Angular are sort of big and slow.

In the end, you can see that WASM based pages do things faster.

And, yes all of that has to do with web apps, not the pages. I started writing a page generator that makes a fairly static page. But, some parts of the page are left of for lazy loading. Maybe the code that manages the lazy loading is sort like an app, but I am fairly sure it doesn't got that far.

I my mind, a page gets a certain amount of use or interest. If the user can begin to load parts of things that he is interested in, then the page can slowly build into either his desired view, or that his page can slowly become a web app. But, his first experience with the page will just be a static page that tells him something he wants to know.

Collapse
 
pixelsoul profile image
Oliver Kelso

I stopped reading at "It is fair to say that I don’t understand it".

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

That's weird because by that point it was already more than clear that what the article was trying to point out, didn't require any in-depth understanding of react.

Is there any point to coming to an articles comment section just to point out that you didn't read it, or did you just feel like showing off how edgy and disrespectful you are?

Collapse
 
blackr1234 profile image
blackr1234 • Edited

The lack of pros and cons of React and vanilla JS, strong arguments concluded from your 9 years of web dev experience, some performance figures and code examples, this post is really pointless and has zero educational value.

I'd say the one/two-way data binding feature in modern web dev libraries is very useful. Managing states is easy in React and is easier compared to vanilla JS. Create-React-App also comes with Babel and Webpack that make our lives very easy from one end (development with the latest ES features) to another end (deployment with ease). One example is that JS files are cached if we do not change the url (e.g. by adding a timestamp query string ?v=yyyyMMdd) when we deploy changes in the JS files, and as a result end users may not be affected by the new changes when they reload the page. The bundled Webpack library does that for us automatically. We also want to write code with the latest ES syntax but still ensure that end users' web browsers are compatible. Babel does that for us. It is very easy to make code changes and immediately see results. The bundled live development server and hot reload module do that for us.

If you are not looking for React developers here to persuade you, then just be a die-hard vanilla JS developer until one day a JS library interests you. There is nothing wrong if you can make a living with vanilla JS without React, period.

Collapse
 
jackmellis profile image
Jack

I must admit it's been a while since I've made anything not using React. And I agree there is a distinct line between website and web apps. However, I see a lot of jobs that require React experience because these companies are making web apps not websites...

Collapse
 
zenulabidin profile image
Ali Sherief

Usually Bootstrap, jQuery and SASS gets the job done quite easily.

Collapse
 
ivan_jrmc profile image
Ivan Jeremic

This sounds so 2009

Collapse
 
nosknut profile image
nosknut • Edited

So i notice you did not only bash frameworks but libs as well. You face a few problems when writing code on your own: you must maintain it on your own. You must security test it on your own. Writing imperative code makes your project a pain to work with for litterally everyone but the person who wrote it. You also are wasting time reverse engineering features that there is 100 libs for. Using frameworks and libs is not only for your sake, but for saving time, money and headaches for those who work on your code later. Perhaps after 9 years you have a mountain of files you just copy paste into your projects and call it a day, but everyome else will suffer for it. As for failing to learn react ... at this stage its litterally just a function that returns html, and some extra functions you can call to get better, safer state management for free. If you throw yourself in to desperate solutions like redux i get it, however if you are at that stage you alredy have dozens of hours under your belt in react. Its not hard to learn, but imperative code IS hard to read

Collapse
 
stevepy profile image
Steve Py

Like the classic Regex quote, I often see the same applying to JS frameworks/libraries like Angular and React. "If ever you face a problem that you think 'A Javascript Framework would solve this!', now you have two problems." The simple truth is that the likes of Facebook and such led to the creation of React because the developers had reached the limits of what they could do with the tools at hand and the scale of the services being built justified building and standardizing on an approach like React.

99%+ of websites out there in the wild, many of which are pursuing being built with React, or probably better phrased, despite React simply don't need it, or don't really benefit at all from it. The major issue with frameworks and libraries is that by nature they expose your solution to dependency hell. You either freeze versions, or you are spending a noticeable percentage of your time dealing with dependency conflicts, regression testing and the FUD that comes with each time dependencies in your solution update.

All too many projects out there are poorly written by teams that struggle to grasp fundamentals of stateless application design. React/Redux, Angular represent standards and patterns to build large, complex systems, surely if we use those our application will automagically be "better"... Except you cannot expect to fix problems due to inexperience by adopting technologies that you know even less about. But the teams persist digging themselves into holes, projects fail and fal behind, and the "solution" is invariably go out to hire React/Angular experts that will get them out of the hole by digging faster.

Understanding React/Angular is fine, and hopefully you find a job/client that is using the libraries and frameworks for a legitimate reason. The sad truth is that most of the clients and employers out there using these tools don't need them, and the experience working with them there is simply a bloody headache. When I'm working on corporate systems that have less than 500 users and I see discussions to use React or Angular, I just shake my head. It's a classic case of YAGNI. It's a completely different story to a public facing service with ambitions to reach 1M+ users.

Collapse
 
stevevail profile image
Steve-Vail

Thank you! I have attempted to learn REACT numerous times, every time falling short of being able to actually use it. I'm currently not looking for employment, but when I was, I hated seeing that 5 letter word in the their job requirements.

Collapse
 
zenull profile image
zenull

PayPal is using React and it's so slooow. Ever slow. Many huge companies rely on frameworks, sometimes a lot of frameworks and tools, that much so their websites are so overloaded with junk code. Speed is very very important and IMHO if a company has a lot of $$$ then everything should be better built strictly upon needs to maintain a clean code and fast loading.

Collapse
 
owenmelbz profile image
Owen Melbourne

@starbist The key puzzle piece you are missing is "the eco system" - It's not React itself, it's what it affords you to be able to do. e.g. Tools like NextJS are React based, React Native is React Based, hundreds of top quality libraries all require React.

Yes it's not needed - BUT if you choose to use it, you get access to the eco system which opens many doors.

Collapse
 
hrithikrtiwari profile image
Hrithik Tiwari

It's just like buying the wheat and grinding it to make flour, when you have so many libraries out there and you can speed up your development ..why limit yourself

I feel this is just an excuse of limiting your learning

Collapse
 
imagineeeinc profile image
Imagineee

i hate react, bootstrap and typescript, I still do not understand whats better by using them, its actually more fun to write with challenges of vanilla js, html, css. And I think you will have more experience writing with more problems and learning to fix them.

Collapse
 
ishanpro profile image
Ishan Tiwari

React helps people create website fast and with ease. Consider if facebook wouldn't be using react and would be relying on Html, Css and Js. It wouldn't be that big. React opens the doors for other libraries as well like Redux. Consider a big fat api which the backend developers created and now react + redux could be used to create the website quickly.

Frontend frameworks ease processes and allow big websites to flourish faster.

Collapse
 
spankyed profile image
Angel

I personally use hyperapp instead of frameworks like react or angular whenever possible. That said, frameworks that allow you to program in a more declarative fashion are enourmously critical to the development of websites that are more then just a simple landing page or contact form. These frameworks make the codebase more reusable, readable, and in some cases bug resistant. Also, you often right far less code, because your using jsx or some type of programmable template. I find that codebases without frameworks usually spend way more time telling the browser how to do every small thing rather then what the site should look like given a certain state.

Collapse
 
urielbitton profile image
Uriel Bitton

It's ironic because you are only hating on react because you don't know it. Take the time to learn it and you will disagree with most of your points here.
9/10 companies hire react devs because it is f%$#n awesome and has the best DUX of all frameworks. You can do amazing things with it so the companies are 100% right in doing so.

Collapse
 
ceyquem profile image
ceyquem

I would be more brutal: not all web apps need react to function. In many cases it's an overkill that adds complexity to maintain, dependencies over libraries that might be deprecated and can be slower if not well optimized.
Selecting a framework for a dev should be seen like a wedding. You commit for the long term and will face a lot of trouble if you regret your choice.
Modern JS has evolved a lot to a point a lot of use case can be done with simple code that will be future proof and simple to understand

Collapse
 
standard0ut profile image
axxe

Front end has gotten both exciting and over complicated. Frameworks come and go (including methodologies). I speak as somebody who has been around since the prototype days (the library before jQuery). Trust me when I say you’ll be a better programmer by understanding the core fundamentals which won’t go away. With regards to React, it’s just one tool. People make these conversations too much about this tool vs tool. A good programmer will be adaptable to any framework as long it’s the right tool for the job. React may be overkill for one project but useful for another.

Collapse
 
davealexis profile image
David Alexis

React solves complexity by layering on even more complexity. When I used it, it just felt like unnecessary overkill. Svelte, however, is a breath of fresh air, and actually designed for both developer and runtime speed. It doesn't need all the layers of bandaids that React needs in order to fix gaping holes.

Collapse
 
ravavyr profile image
Ravavyr

To understand all of the above and the why for it, well understand that React and Angular and Vue were created by silicon valley developers.
They were made by Facebook [React] and Google [Angular/Vue (Evan worked on Angular before making Vue with good reason)]

So you have companies running applications that process billions of requests every single day, and you all let these 2 companies tell the world "This is how you should build websites". And neither of them used frontend developers to build the frameworks, they used their top of the line engineers to do it. People who are paid to find the best way to optimize things, not the simplest ways.

For web dev, simpler is always better. I've used all three frameworks a bit,
and to prove you don't need 300mb of node modules, I made taino.netlify.app
It's 1 script file to build SPA websites and it's 13kb uncompressed, about 3kb when compressed. It also gets indexed by google [Search for "Taino JS" and you'll find it]
Most small business websites could do this and have a web presence without a dozen build tools, compilers and other nonsense.

As my proof of concept I used it to create indiegameshowcase.org to prove it can be used to create a full scale application that performs damn well on top of it, is responsive and performs well for search engines [granted google's the best at reading javascript]

Collapse
 
nirmal15mathew profile image
Nirmal Thomas Mathew

Even as a React enthusiasist, I am with you on this one. Because, I initially learned html, css and js and created my own little sites. But I knew I had to learn react, since I really wanted to create app like websites (or web-apps as with current tech). But I am a firm believer in the theory that every single site needs a framework. Here's my theory. If you have a lot and client side js and complex UI with inter dependent variables, using a framework or library is the best choice. But for landing pages or even for a rather simple web app, it would be more than enough to have html, css and js. Besides having these fancy libraries we are usually forgetting the fact some things can be usually achieved even without the help of javascript

Collapse
 
ingosteinke profile image
Ingo Steinke

While React has its value, especially for building apps, you are right that it has been overused and misused to build websites that should have rather been static (HTML, CSS) or jam stack (HTML, CSS, JS but with minimal overhead).

Developers tend to forget (or never even heard about) progressive enhancement. Not only mobile first, but accessibility and simplicity first, adding anything else as a covenience and design layer on top.

Comments mentioned the UNIX philosophy: let a tool be simple and achieve one task perfectly. This is why we have HTML, CSS, JS and server / back-end technology separated in the first place.

Another discussion in the comments states that every junior developer should start with the basics, not only HTML and CSS, but also vanilla JS. I do not totally agree to that. When I started developing websites, JavaScript was not that common, and it was quite different from current JavaScript / EcmaScript. We can write higher level, developer-friendly code, like ESnext, but also TypeScript, CoffeeScript, or anything useful, while developing, and let our build tools export code that runs on the client. Exactly like native software has been developed in C, C++ etc. for decades. No need to learn assembly to write a desktop application. Consequentially, it is not necessary to start with "vanilla JS" or even dive deep into the details and pitfalls of the "hard parts" of JavaScript to understand programming and web development.

Collapse
 
evankapantais profile image
Evan Kapantais

"I had a few attempts to learn it, but I failed every time. It is fair to say that I don’t understand it, so I cannot even rant about its features, shortcomings, or flaws."

Given that, as you say, you don't understand React, isn't the title of the article a bit too bold?

Collapse
 
loopmode profile image
Jovica Aleksic • Edited

Websites are a rather small part of the web nowerdays. Most stuff you see and use - and get hired for - are web applications. Very complex and very interactive pieces of software. You don't want to do that Vanilla, believe me. You can, sure. But only the top 1% of developers is capable of building, from scratch, a framework for their specific project that incorporates all the hard lessons learned in thousands of man-hours in a system like react.
I've been doing web apps for some 20 years now, first with flash because there was no JS+CSS as we know it today, then with Vanilla JS, then I enjoyed jQuery, then Backbone, then then then. A myriad of epochs.

The point is...you can't seriously work on a project of even medium complexity without using lots of libraries and maybe a framework, because otherwise you would have to make all the mistakes and learnings that went into those frameworks, because you'll have to stumble into the problems these frameworks solve yourself, but mostly one at a time (and there are MANY). And so you will never finish the project, or you will and it will be a pile of buggy, unusable crap. (Or you truly are a genius that should be either hired by the greatest of companies or governments, or should invent the next cool framework the rest of us may use to avoid aforementioned problems and get shit done).

The point besides the point is, actually, that there is the great divide. Two frontend developers are sitting at the bar. They have nothing to talk about.
css-tricks.com/the-great-divide/

Finally, i do agree: you don't need react to build websites.
Also, i add to that: you don't even need javascript to build websites.

Collapse
 
jkalandarov profile image
Jasurbek Kalandarov

Employer: We need a skilled driver who can drive BMW i7 or higher.
Driver: I have a driving license and I can drive a car.
Employer: Have you ever driven BMW i7 or higher one?
Driver: No, I haven't. But I am capable of driving any car since I have a driving license.
Employer: Sorry, you don't possess necessary skills for this job.

Collapse
 
joaozitopolo profile image
Joao Polo

but... if you use only your html and css knowledge... You'll have giant files with repeated code.
We don't need react or other reactive framework, but at least, we can look for template tools, like Mustache, Nunjucks (I tested, it's so cool), Underscore (it's more complicated to use) or others.

Collapse
 
aliendreamer profile image
Teodor Stefanov

So let me get this straight. You don't understand react and it benefits but you rant people to. It use it.... Ok let me set it straight fuck off.
When you have big teams is easier to use framework and from everything out there react gives you best equation of pros and cons.
And I will always prefer libraries like this instead of custom projects without documentation where is nightmare to understand why they did it like this...
And I don't say devs should not know the basics, I am saying don't hate something you even confess you don't undertand

Collapse
 
standelethan profile image
Ethan Standel

Imo if you need a website (as you define it) built, just use Wix or Squarespace. As a full stack engineer, I have no problem recommending that to people.

But if you need something with just about any level of complexity beyond purely static content, frameworks are worth the very small sacrifices of performance and complexity you need. Even implementing routing and a site-wide header and footer makes frameworks worth it almost immediately.

I do think it's important to learn vanilla just so that you understand the capabilities and what's available under the hood, but frameworks ends up being entirely appropriate a good amount of applications.

Collapse
 
bigbennny profile image
Bigbennny

I totally agree. The talks about React and some frameworks reducing work time should be personal opinions, which I personally disagree with. Structured codes, yes. Faster development, plain old Vanilla JS. I am a fan of that always!

Collapse
 
seesharpcode profile image
Tyler Daniels

This is a weak take when you admit you don't understand the features or benefits of React. How can you measure it's value and deem it unnecessary then?

You could argue you don't need programming at all for "websites" since you can often get away with Wix, Square Space, etc.

Appreciate the sentiment but needs more substance.

Collapse
 
cyphire profile image
Brian B. Canin

Unlike the author, respectfully, I came from this from the other side. I'm an expert developer and truly expert in react and react native. I know HTML but for a long time didn't know it really well. I never got around CSS but eventually became really good with it especially with scss.

In the general case I agree you don't need react to make great websites. On the other hand any programmer is maddened by the enormous amount of HTML and JavaScript that it takes to make a decent website. Anyone who's bought a template knows that there are tens of thousands of lines of CSS and other code to try to get a website to behave well under all browsers devices and sizes.

Building a site with react gives you true control of dynamic content of data and of all the integrations necessary whereas HTML and CSS and JavaScript in a site is both cumbersome and limiting.

Yes it's frustrating when the profession that you know has changed and so many clients are clamoring for react but it is the evolution away from huge bloated cumbersome wise tools too a more efficient approach.

Collapse
 
bicho44 profile image
Federico Reinoso

I saw a lot of advocates for React, but every one of them foget the basis, The web and WebApp, need HTML, CSS and little JS, and every single framework out there, spit that.

So, you only need THAT.

Also, if you need to compile, 2 GB of node, 500k of library and 5 components to make a a simple web site or a to-do... And you think, thats simple... then you need to check your priorities.

The web used to be fun, and simple enough to somebody can make a usable web. Frameworks like react and similars, only make the web, convolute and really bad experience to the average joe.

So, learn HTML, CSS and JS, most of the webs / webapp (guys, a web app is a website in the celular browser, dont make a huge deal about that) And then if you need database, learn sql / sqlite or better use a intermediate library so you can abstract that, and then, have fun.

React is not fun, React is ugly, convoluted, and need to be compiled just to put it in the browser.

Have a life, learn web, not frameworks

Collapse
 
abdullmng profile image
abdullmng

I don't know if I'm learning the wrong way, but I think frameworks in general are just meant for team work. I've never found any framework faster or easier. Even the time it'll take me to learn a framework will be enough to complete a project.

Collapse
 
larsejaas profile image
Lars Ejaas

It is refreshing that you take a stance and for someone like me, I need to be reminded sometimes that you can create cool stuff without any frameworks. However, isn't the point that for webpages, you can surely do it with vanilla Javascript, CSS and HTML. But a lot of jobs where they need React frontend developers are for large webapps. I would say that these days React isn't necessarily enough. I see TypeScript mentioned A LOT here in Denmark, and Vue is almost just as popular as React around here...

Collapse
 
okabrionz profile image
Oka bRionZ

I even don't know how to use javascript. But, i can appear on first page or sometimes ranked #1 on a keyword what i want on Google. And my website faster than most websites.
Job?, i opened a services to redesign, making a landing page, performance booster even without knowing what react.
I use JAMstack Hugo to build my client website and Headless CMS to manage contents. Instead of faster on build & performance, JAMstack has secured and i never heard my clients web got hacked anymore.

React? i need it ofc, and i still learning.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

The web app developer does need React or similar frameworks.

Arguably. I'm a very big fan of micro-frameworks and, while I don't have the experience in web applications to make a definitive statement in that area, mu suspicion is that, just as in most other areas, 90% of the benefit of a big framework like react could be achieved with 10% of the code / complexity (if not less).

Collapse
 
siddude2016 profile image
Siddharth

You are 100% correct. The reason why I learned React was because all the job posts and interview questions were about them. They ask very little about JS and ask a lot about React. They need to ask more JS because React, Angular and other variants of JS can be learned easily once JS concepts are really good. Every job post I see, its always React, Angular, Vue. But the thing is that now without React, its difficult to even create a small website with original trio (HTML+CSS+JS).

Collapse
 
xarbit profile image
Jason Scurtu

The virtualDOM from react is unbeatable compared to something like jQuery. It’s pretty easy and straight forward to design and develop a page in react by creating modules and applying a bit of style on each, don’t need bootstrap or what ever.
React takes care of the classes..
You can extend react pages pretty easy and restructure the modules too.
Then there is also GatsbyJS that makes react pretty easy..
I would never use plain html and JavaScript again, it’s a pain in the but.

Collapse
 
belevatini profile image
Rocky Bronzino

It is not hard to learn, but learning it made me dislike it even more. It is a silly solution to a problem that doesn't exist for real programmers. All frameworks are solutions to problems that only exist for unskilled coders. Unfortunately, the industry is comprised of 80% unskilled coders, so it appeals to the majority.

Collapse
 
jwp profile image
John Peters

So true, it's uncanny how some frameworks seem to live on eternally. Today there seems to no buzzing for Svelte, Lit, and even Html 5 web components. Go native or go home.

Hey I heard that web assembly has landed.
Good bye Angular and React, you were both opiniated chumps anyway.

Collapse
 
johnwarner profile image
John Warner

React can help with organization, but it is more important to understand what makes for better programming design, such as following the SOLID principles. These principles can be followed in Vanilla JS or with a framework or library. Most web apps I work on are MPA using the Microsoft .NET stack. Not React's forté, so I use a consistent Vanilla JS approach for the front end more suited to the architecture. Modern JavaScript has resolved many of the problems that frameworks and libraries, such as jQuery, were used to solve in the past so working without a mature framework isn't as big a problem as it used to be.

Collapse
 
orofbrown profile image
Mike Young • Edited

I agree, you don't need React to build a website. If you want to build a web APP, I 100% recommend React because it makes almost everything easier. I believe that React lives up to every bit of the hype, if you take the time to learn it.

The reason so many people want to hire React devs is because of how popular the framework is with front end engineers. It is so popular because of how much easier it makes your life as a front end engineer. At the risk of sounding like a snarky fanboy, I would suggest you take the time to understand the framework before attempting to criticize it.

Collapse
 
guteres007 profile image
Martin Andráši

multiple interactions like admin = VUE, REACT ....
other, javascript

Collapse
 
gomandev profile image
Gomandev

That's why we have gatsby - a blazing fast react framework for building websites. gatsbyjs.com/

Collapse
 
efpage profile image
Eckehard

Maybe you can benefit from using Webcomponents. Here is an example how to build your own without effort.

Collapse
 
froestmountain profile image
froestmountain

agree with that. only using react when u build something large

Collapse
 
mirghojam profile image
Mirshat Abdulhamid

Be that as it may, companies are always looking for frontend developer not website developer in general. When it comes to frontend it could be desktop application, mobile application, website or even mini app which runs inside of a mobile application. In theses situations React's "Learn once write everywhere" slogan comes to shine. So in terms of reducing cost for company, developer who masters React skills are the better choice.

Collapse
 
gautamtiwari profile image
Gautam Tiwari

This should clear a lot of things for a lot of people.

Collapse
 
dagr8 profile image
DAGr8

Point #1 Other then productivity, why use a framework at all ?
Point #2 JS is powerfull.
Point #3 Not everyone but I bet you most ppl using frameworks have no idea how to actually do it in vanilla. You should be able to do it with vanilla before u even consider doin nything with a framework.

Ofc im biased I do not use React. That said go back to point #1

Collapse
 
ed1nh0 profile image
Edson Jr. • Edited

Why should you use a chainsaw if with just a simple axe you could fell trees? Despite your lack of knowledge over React I really got your point that sometimes any framework, not just React, is "too much" for simple jobs.

Collapse
 
ivan_jrmc profile image
Ivan Jeremic

He means development is faster

Collapse
 
jbartusiak profile image
Jakub Bartusiak

I feel that react became even more popular with the advent of gatsby. I do use it for my website and I can see the definite advantages.
The rant seems misplaced, if you're a good developer, you become agnostic to the technology you're using. Learning a lib like react is very simple, maybe even simpler than learning all of the ins and outs of javascript by itself.

Collapse
 
kracodes2325 profile image
Asad Anwer

That's insightful, but I was thinking along the lines that is being a website developer enough for a front-end developer, or should he aspire to become a web-app developer too; knowing appropriate frameworks or libraries that would help along the way.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Dunno if that's what OP meant; I read it more like "Be an HTML/CSS/JS dev that knows react, not a react developer"

Collapse
 
brianaa profile image
BrianAA

I use to think like you to be honest I learn my way through using the html css and JavaScript but then I toyed around with node and express with templating languages like handle bars it open the world to building easier sites with modular design something you can't do with html as easy on its own. Then the proceeding next steps was react then landed on next.js

I know if you keep at it you will see the benefit. I look back at older projects pre frameworks and see just how hard I worked that is accomplished so much faster now.

Collapse
 
jcfore21 profile image
jcfore21 • Edited

It depends. I don't fully agree that you should get rid of React as a technical requirement in every case. If you have had to deal with a fully built enterprise application with React in the frontend and need the knowledge for maintenance and additions then it could definitely be needed. It's one thing to know vanilla JavaScript and CSS, but if you really know React, chances are you know those fairly well as well. BUT there's no reason to not apply for a job that has it listed even if you don't know React. Any employer who is worth your time will recognize your talent for what it is and accept the learning curve. Otherwise, keep looking for something better.

Collapse
 
jaelid profile image
Jaelid

I have been working as a full stack software engineer for 15 years and I do agree with you for the most part. Before angular and react developers used to write their own libraries for two way data binding (before we had typescript and half of the stuff JavaScript has now). That's how these frameworks came about lots of Devs doing similar things. It does solve a problem more so in larger web applications but less and less as Javascript evolves. I would urge you to attempt to learn react again not because it is needed but because there will always be some hot framework that is trying to solve a problem. You sound like a very competent developer don't be defeated by "the latest bells and whistles" solution but learn it so you can remove it and advise on it. An expert in a product who says it is not needed will carry more weight than someone who has struggled to use it and given up.

Collapse
 
mr_destructive profile image
Meet Rajesh Gor

WOW! I now feel there is someone like me :) Don't know why REACT is just becoming compulsory for doing almost everything on web.

Collapse
 
efpage profile image
Eckehard

Frameworks are just tools. It depends on the task if the tool is right or wrong.

There are lot´s of developers with different tools, one has a hammer, the other a drill. So, why are we discussing, which tool is best?

Collapse
 
aerodarius profile image
Dario Cruz

The truth is that react and any other library/framework are best suited when you want to build an application, not just a website.

Collapse
 
freelancingsolutions profile image
mobius-crypt

I once build a website with vanilla script at the end I was actually trying to invent a framework, My next project was a react website it felt soo natural .

Collapse
 
skuarch profile image
Alfredo Bello

coding expire over the time if we use frameworks the code expires in less time!

Collapse
 
anders profile image
Anders

Not only don't you need it, you more than likely shouldn't even consider it.

Collapse
 
mogaozq profile image
Mohammad Barbast • Edited

I love react it's amazing, but you are right the essence is html css and javascript👍

Collapse
 
benjaminv profile image
benjaminv • Edited

To some extent I agree.

Collapse
 
tarvox3432 profile image
tarvox

React isnt that hard. If you cant understand it how are you even a developer?

Collapse
 
ats1999 profile image
Rahul kumar

People tend to use React because of its a SPA. SPAs are faster that normal html pages, because all JS and CSS are loaded at first and parsed. No need to parse it again.

Collapse
 
cindreta profile image
Vedran Cindrić

Great post man! Could not agree more. Kudos.

Collapse
 
ivan_jrmc profile image
Ivan Jeremic

You need Frameworks like React just using HTML/CSS/JS is how you will end up re-inventing the wheel.

Collapse
 
ortonomy profile image
🅖🅡🅔🅖🅞🅡🅨 🅞🅡🅣🅞🅝

Ugh, did anyone say you need it? You solve problems of speed, UX (both user and dev), and quality with your technology choices.

Seems like a made up reason to post an article.

Collapse
 
skuarch profile image
Alfredo Bello

react is not a framework!

Collapse
 
sametweb profile image
Samet Mutevelli

Your post is a good reminder that people should make informed decisions when it comes to picking technologies that suits the job. Anyone who uses React for a landing page has greatly failed to do so.

Collapse
 
zeropaper profile image
Valentin Vago

Knowing one of the hyped frameworks / libraries may allow you to get a job.
Knowing DOM and the languages will allow you to build anything.

This is something I've been telling since nearly 10 years.

Collapse
 
tupynamba profile image
Gwyra bebe pimentel

Naveguei 50 anos em todas praias e oceanos na engenharia reversa e sistemas, sou Binarista Assembler, na net WebAsm, Html5, Css3 e Já, concordo contigo, seja LIVRE Gnu/Linux e Free BSD.

Collapse
 
dacurse profile image
DaCurse • Edited

That is if you write your code perfectly.

Collapse
 
tr11 profile image
Tiago Rangel

I agree 100% with you!

Collapse
 
devmanzur profile image
Manzur Alahi q

Whatever helps you deliver the requirements is good enough. you do not need to throw in every single shiny tool you know. Simplicity is the best policy

 
starbist profile image
Silvestar Bistrović

Actually, I am using Vanilla JavaScript more often now. jQuery is something that was there before. I tend to ditch jQuery if that is possible.

Collapse
 
ctfrancia profile image
Christian Francia

This post has triggered me because I know of people like this and has costed the company almost a million euros in work to fix bad practices and reinvention of the wheel.

Collapse
 
kenethsimon profile image
kennyLFC

Its not must but i recommend using

Collapse
 
tsykin profile image
Aliaksandr Tsykin

The biggest irony is that this website runs React JS (used "WhatRuns" plugin to check)

Collapse
 
fasasisherif profile image
fasasisherif

I'm not so sure if this fits in here, but a great place to learn react is :
github.com/Asabeneh/30-Days-Of-React

Collapse
 
bernardoquina profile image
Bernardo Quina

Of course not. You should use whatever suits you and your usecase better. That might even mean using platforms like squarespace and shopify.

Collapse
 
adrielzarate profile image
Adriel

Like 10 years ago it was the same, but with Wordpress.