August 31, 2017

Why should I consider React + Redux?

These are a few points of why I continue to choose React/Redux for new projects and not <insert popular JavaScript library here>. I’ve given other tools a try, and can’t find a good reason to switch to something else, yet :).

React and Redux have a large ecosystem

When evaluating tools, it helps not to view them in isolation. Just as important as the tool itself, is the ecosystem that surrounds it and how active the community is. Avoid statements like, "Vue is smaller than React and performs better". That may be true, but it’s unfair to base your decision on a few quantitative metrics, unless they’re extremely important to you. Most of the time, it’s the stuff that can’t be quantified that really matters in your every-day development cycle.

There are hundreds of libraries within the React and Redux ecosystems. Someone has already created a component for almost anything that you can imagine. There are also a number of UI component libraries with large catalogs of common components. Some of these libraries can help you get up and running quickly without the need for a designer. Along with the number of libraries available, the React/Redux communities are also very active and try to keep things up-to-date.

React’s large ecosystem can also be a disadvantage, however. It can lead to a fragmented set of tools that make it hard to decide when to use one and not the other. Vue.js has a smaller ecosystem, making it a bit easier to know which additional library to use at the appropriate time. However, it still has a long way to go before achieving the level of maturity that React currently has.

Angular, on the other hand, is a framework that provides much of what you need to build an application. Some developers see this as a major benefit, since they don’t have to run around looking for additional tools that play nice with Angular. This is the old “framework vs library” argument. I prefer to use a library, over a framework, because it grants me much more flexibility and freedom.

React uses JSX

JSX empowers developers to approach building web applications in a modular and composable way. Modularity is not unique to React and, in fact, some developers prefer using templates to build components. Templates are nothing new and are the default way of creating components in other popular libraries, and frameworks, such as: Vue.js and AngularJS. However, what I like about JSX is the detachment from standard HTML practices. Building an application with JSX feels more like you’re creating a desktop, or mobile application, than a web application.

Using templates does have its advantages as well. For example, developers can integrate with a designer’s HTML/CSS deliverable far easier using templates than with JSX. This, however, is not enough to convince me to stop using React, since it has been my experience that this is not a very common practice anymore. Most designers deliver Adobe Illustrator or Sketch output instead, requiring developers to start from zero and build up the application.

It’s also worth mentioning that while JSX is a language that ultimately compiles down to JavaScript, it is still very similar to HTML in its syntax. For example, this is valid HTML code: `<div class=”header”></div>`; and this is valid JSX code: `<div className=”header”></div>`. The difference is that in JSX, `class`, is a reserved word so you have to use `className`.

React/Redux scales nicely

It has been my experience that writing a small application in React/Redux is just as complex as writing a very large application. This is both a gift and curse. Setting up a React application requires a significant amount of configuration and knowledge of build tools. Ensuring that you get everything in order can slow down the initial phases of a project. Recently, however, React has helped mitigate this complexity by creating "create-react-app" - a simple tool for creating React applications with no build configuration.

Once your application build is configured and you’re comfortable with the tools, it does not get any more complicated. This is an important point that I think is often overlooked. As your application scales out, and more and more requirements start coming in, it can get overwhelming if you don’t have a great foundation. React, and Redux, provide a platform to scale out applications easily by providing a consistent set of practices that developers unknowingly follow. The React/Redux functional programming paradigm enforces a modular and loosely coupled codebase. This not only encourages consistency, but also code that is much easier to test.

More Related Blogs

How Custom Software in FinTech provides a Competitive Advantage
Technology is the driving force behind innovation, customer experience, and long-term growth. FinTech companies that rely on custom software solutions are often able to move faster, operate more efficiently, and deliver more value than competitors using generic platforms.
October 19, 2026
New Service Offering: Behavior-Driven Development
We are thrilled to share with you the exciting news of the launch of our latest service – Behavior-Driven Development (BDD)! After months of hard work and dedication, we are proud to bring you a comprehensive set of software engineering practices aimed at improving collaboration between technical and non-technical stakeholders.
September 24, 2026
Service Offerings: Staff Augmentation and Talent Sourcing
We are thrilled to share the exciting news of our latest services – our next generation Staff Augmentation and Talent Sourcing! After months of unwavering dedication and hard work, we are proud to introduce these services that can elevate your business to new heights.
September 24, 2026
‍What are the Differences between Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform?
The choice of cloud-based services depends on the specific needs and requirements of a client’s project or organization. Sabal Tech would have to evaluate the client’s needs, requirements, budget constraints and desired outcomes in order to determine the best and most effective solution of services that would work best for our client.
September 24, 2026

Ready to Transform Your Business?

Let’s discuss how SabalTech can support your business with the right technology solutions. Our team is ready to understand your goals, provide expert guidance, and deliver innovative strategies that help you grow, improve efficiency, and stay ahead in a rapidly evolving digital landscape.