If you’ve been working around the web the last few years, you’ve likely heard about React. When Facebook puts its vast engineering resources behind a web framework that can meet the needs of both Facebook and Instagram, there’s probably something worth looking into.
But what’s the deal with React and why should you learn it? Here are five reasons.
1. React is a great résumé addition
React is popular, there’s no denying that. In the Stack Overflow Developer Survey 2020, React came in as the second most used web development framework (beaten only by jQuery). Being a framework with that much adoption you can expect that there’s a fair amount of demand for competent React developers. Why wouldn’t you want to have this listed on your LinkedIn profile?
2. It’s fast and fun to use
Developers love things to be fast, and when it comes to web development, one of the best ways to make things at least appear fast is to keep the bulk of the work being done in the browser. React is incredibly fast, and while benchmarks should be taken with a grain of salt, most of the benchmarks that I’ve found will place React at the top or near the top in terms of the various performance metrics being looked at (first paint, load time, bundle size, etc.). Rather than looking at benchmarks, I would encourage you to find a React application in the wild and see if it feels fast to you.
Speaking of things that developers love, if we head back over to the Stack Overflow Developer Survey 2020 we can see that React took second in the Most Loved Web Development Framework category. The second most used and second most loved? (Note that jQuery was not the most loved.) It seems like people who dig into React want to stay there.
3. The mental model is simple (and simple is good)
React concerns itself with one main thing: rendering. Because there’s so much focus on a single thing that means there aren’t 1,000 concepts to learn and keep in your head while working with React. This sort of simplicity means that the bulk of development effort can go towards solving business problems rather than trying to remember all of the framework’s requirements for modeling data and routing to controllers.
4. Flexible rendering for any project
Rendering is something that React does so well that it deserves two spots in this list. Because React’s goal is so focused on rendering that means it doesn’t have opinions about other aspects of your application that might otherwise prevent you from using other tools. Was there a particular library that you used to model data with a different framework that you’d still like to use? Cool! You can probably still use it because React doesn’t force you to model data in a specific way.
This doesn’t mean that there aren’t React-centric projects and libraries for solving common problems that don’t pertain to rendering, but it’s nice to know that the framework isn’t forcing you to completely jump ship and learn an entirely new toolchain. Picking up React means that you’re already swapping out your application’s rendering layer, that’s a big enough jump.
5. It’s a gateway to mobile development
You’re a web developer, right? Don’t limit yourself like that! React has a sister project, React Native, that allows you to take the skills that you’re building up while working with React for the web and transition them to start making mobile applications that you can ship to the App Store and the Google Play Store. You might be thinking “I’ve seen how these JS ‘mobile apps’ turn out, no thanks”, but React Native is good enough to be used in production mobile apps from Facebook, so its a little different than the things we’ve seen in the past.
Looking to get your feet wet with React?
Getting started with React doesn’t need to be hard. If you have a background using JavaScript, my “Extending Your JS Skills with React” course is the quick intro you need to take your first steps with React. The best way to learn a programming skill is to dig in and put it to work, so this course focuses on getting you into the code as quickly as possible and keeping you there so that the programming model provided by React can stick.