Starting with software engineering? Don’t bother learning React JS

This article was originally published on Built In by Alex Zito-Wolf.

React JS is a JavaScript framework with 10 years of maturity and a huge community supporting its growth and development. But you shouldn’t learn it in 2022. This is why.

First a quick introduction: React is currently the most popular front-end framework in the industry. It provides concrete APIs, software design patterns, and tooling to help you build web applications faster and more maintainable. A huge developer community is also constantly creating tools and components that you can integrate into your own apps or websites, adding to its popularity and usability.

What is ReactJS?

Does your fintech have global ambitions?

Before you think about expanding, check out our handy checklist

React is currently the most popular front-end framework in the industry. It provides concrete APIs, software design patterns, and tooling to help you build web applications faster and more maintainable. A huge developer community is also constantly creating tools and components that you can integrate into your own apps or websites, adding to its popularity and usability.

Respond JS pluses

You can choose to learn React for several reasons. First, it has a fast learning curve for new developers. If you’re not an expert web developer, React can be an easy way to introduce yourself to many HTML, CSS, and JS concepts at the same time. You also don’t have to start with the basics when starting your career with React – you can use features that other developers have built and combine them, often eliminating the need to write features from scratch.

React also teaches performers some positive development practices. Its very nature forces you to isolate functionality from UI components and build little bits of the interface that only do one thing right. In general, methods that are more loosely coupled (with fewer external dependencies and with fewer responsibilities) are easier to test and easier to collaborate, especially if you’re working on a large application. React also teaches you to think like a functional programmer and even extends functional programming concepts with methods that return HTML instead of JavaScript objects.

Why You Shouldn’t Learn React JS

Despite the pros, the reasons pile up for not learning React. We’ve reached a turning point where it might not be worth adding this tool to your kit as an engineer.

First and foremost, React keeps developers from learning many of the basics of web development, especially when it comes to separating concerns and the basics of the major web technologies, HTML, CSS, and JS. The React interface abstracts browser APIs for building websites so that developers who only know how to build React don’t need to understand them.

When a new HTML markup specification achieves full browser support, these developers will often use it last because React applications often don’t mix well with browser features. This problem is a big loss to the development community at large: we’re making sure that engineers don’t become real experts in web technologies because they’re too busy learning specific React specifications.

Second, React requires extremely complex build tooling that ultimately reduces code maintainability. Getting your React code into production requires at least four transpilation steps, often leading to complicated configurations that can take years to master.

Without going too deep into the details, React files (usually written with a .jsx extension) cannot be run directly by a web browser and must be converted to a readable file type, usually javascript files. At the end of all the transpilation, the code you’ve written will be unrecognizable from the code that’s running, making it much harder to debug.

These complex build processes also make long-term maintenance of your applications much more difficult. Due to the complexity of the build tool, your choice of tool can end up being just as limiting as your choice of a front-end framework in terms of maintainability. If your application has an outdated build tool configuration, finding new developers to maintain it can be a challenge.

Finally, React’s pioneering concept of component-based UI development has been adopted by the development community at large. Now there are more and more varied options, both by competing front-end frameworks and by browsers themselves. React brought about a paradigm shift in web development, moving developers away from thinking about HTML, CSS, and JS as separate resources, to thinking in terms of functionalities or “components” that contain all three and can be shared and reused. This framework is now the de facto model for web development and the space has become saturated with choice.

React’s days are numbered

The signs that React is losing its monopoly on component-based web development are clear. Competitive frameworks are now starting to make headway in terms of developer satisfaction and the number of searches for React has decreased over the past year. Finally, Web Components, the browser’s native API for bundling HTML, CSS, and JS into reusable chunks, is finally being adopted by major browsers and is expected to become one of the most important technologies in the space.

As a front-end developer with years of experience developing React applications, I believe it will last for many years to come as the most popular framework for web developers. However, every tool has a life cycle and React is starting to reach the end of its (extremely influential) life. The concepts that React has brought to the world of web development will continue to grow and evolve, but if you are not already in the world of React development, I would suggest you step back and reconsider based on the current technology available to you.