Angular and React are Saving Companies Billions
Front-end development is more complex than ever.
In July, a viral article “Angular is Costing Companies Billions” started to pop up in our blog feeds.
I read the piece and the first thing that came to my mind was the fact that the frontend development field has evolved so much that it has become a universe in itself, and many people aren’t still aware of the advancement in this field.
Frameworks like Angular and React have been in use for quite some time now and have increased the possibilities of things that can be achieved just by using JavaScript and HTML.
Labeling frameworks as unnecessary and “mess” is like JavaScript developers making fun of WordPress & PHP.
This article will provide my views on how frameworks are saving companies significant money and how they have pushed the boundaries when it comes to front-end development.
Choices and different demands
One of the key aspects of building any web project these days is deciding which framework and stack to use.
It may seem intimidating but at the end of the day, I am glad we have so many options to choose from.
This is because the demands vary and different stacks are apt for different needs. For instance, React is well-suited for building dashboards and sites where SEO isn’t critical, whereas NextJS is great for SEO and server-side rendering React.
If you want to avoid virtual DOM entirely and go with something more vanilla, Svelte might be your ideal choice.
Similarly, if you are creating a blogging site or other such sites, Jamstack might be your go-to choice.
The reason these frameworks & stacks exist is that there is a wide demand for them and all of them exist to serve some purpose.
SPAs are becoming increasingly complex.
SPAs or Single-Page Applications are great for building complex sites with state management and authentication easily.
However, I do agree that SPAs are horrible when it comes to SEO and ranking on Google.
But that does not mean we have to completely “get rid of it entirely”.
SPAs have helped developers to implement principles like DRY(Don’t Repeat Yourself) and have promoted the reusability of components.
Moreover, MVC and other such architectures & patterns have been made pretty easy to implement using React and other such frameworks.
The primary advantage of using such industry-defined architectures and patterns like React Redux is that you don’t need to train your new employees and you can state knowing these patterns in the job listing itself.
In the image above, I have shared a random job listing I found online that clearly states candidates' requirements before applying for the job.
Learning and using the best industry standards not only allows you to easily settle in your new job but also makes your skills transferable.
If everyone switched to plain JavaScript, then new employees would need weeks of training to understand the code of their current company and whenever they will switch jobs, they will need to be re-trained by their new company.
Database,Authentications & State Management
I am not saying handling databases, authentication and even state management with vanilla JavaScript is not possible.
In fact, there are some really great guides available online that discuss and showcase state management using vanilla JS.
You can call me biased but after implementing state management with vanilla JS, my respect for Vuex and Context API soar through the roof.
Handling and storing database responses, as well as authentication is a piece of cake with modern frameworks.
Controlling lifecycles of components is quite straightforward with frameworks.
For example, if you want to perform certain checks in React immediately after the component is loaded, simply using componentDidMount() will do the trick.
They allow building more complex apps without worrying about the state, or authentication.
Sites like Netflix, among many others, have also embraced React and JS frameworks and many companies are switching to these frameworks.
The real reason why frameworks exist.
Frameworks and libraries exist and have become popular because of a simple thing: market demand.
The web development space has become increasingly complex recently and frameworks are the result of these varying and complex requirements.
The world is moving towards a more refined, modular codebase where code is split based on some patterns, and reusability of code is promoted where ever possible. Flutter, React Native and Ionic are some popular examples of code reusability as they allow making multi-platform apps.
Even in the app development field, the concept of instant apps is being more widely accepted and used.
Similarly, instead of making a native app from scratch, it is economical for companies and individuals to release the PWA(Progressive Web App) version of the site while the native app is in production.
Many frameworks like Vue allow you to easily implement PWAs.
All these are demands that didn’t exist a decade or so before.
Final thoughts
Frameworks like React and Angular are here to stay whether we like them or not. That absolutely doesn’t mean that vanilla JS should be abandoned.
Knowing JavaScript fundamentals makes working these frameworks way easier.
Vanilla JS is the programming language that the web understands however due to its limitations, frameworks and TypeScript have gained a lot of popularity.
In my opinion, frameworks are saving companies millions of dollars by not having to re-train staff and maintain code that barely anyone understands after a few months.
Let me know your thoughts.
I hope you enjoyed reading this article!