An Introduction to React
--
So, you wanna learn React? Its quite a daunting idea isn't it? No matter what background you come from, React has positioned itself at the forefront of a major paradigm shift within the context of Web 2.0. The days of jQuery are over, the days of brittle frameworks are numbered.
What does this mean? Well, to keep up with the times, we, as engineers need to make sure we’re on the cutting edge. React, along with Vue is on the frontlines of Javascript development, which means that if you want to make headway, you have to be on the front lines alongside them.
No fear! That's why I'm writing this article. I'm going to do my best to explain React and its concepts as simply as possible. Make no mistake, the best way to really bend your head around React is to get your hands dirty with it.
I’ve found for the most part that articles just lose you in the complexity of it all, so hopefully, this one will do the opposite.
We’ll tackle:
- Why use React in a project?
- What does React actually do?
- React paradigms explained
1. Why use React in a project?
Good question. Often, React is used in a project just so the engineers on the project can say that “We used React on the project” — let's not get into that pattern.
How would you answer me if I asked you, “Why would you use Ember or Backbone on a project?” I'm sure you would have specific reasons. Like most things programming related when it comes to using 3rd party libraries to do the heavy lifting for you, its a case of how much heavy lifting is needed. Heres some rules of thumb:
React is good for:
- UI (User Interaction) intensive websites (bank interfaces, dashboards, personalization user flows, eCommerce etc) — think lots of moving parts, lots of data needing to be managed in an inter-related way
- When the need for performance outweighs the deadline
- Apps, using React Native — big discussion point there. We’re not getting into it here, essentially if you learn React, with a bit more experience you can transition that knowledge across to building mobile apps with a far leaner barrier to entry.