What is React? The Most Practical Answer

The only answer you need before digging into React


React is a JavaScript library focusing on making UI development simple and spaghetti-free.

React was initially developed by Facebook as a solution to front end problems they are facing:

  1. DOM manipulation is an expensive operation and should be minimized

  2. No library specialized in handling front-end library at the time (there is Angular, but it’s an ENTIRE framework.)

  3. Using a lot of jQuery is causing spaghetti code

In 2013, React was released as an open source library, and since then it has been widely loved by the community.

Why developers love React? As a software developer myself, I can think of a few reasons why I love it:

  1. It is simple to start Running React is not easy since it uses JavaScript to render the view. You’ll need to learn about Webpack and its configuration to run React smoothly. The Facebook Team know this and created a npm package called create-react-app for quickly trying React.

  2. It’s minimalist in nature React takes care of only ONE thing: the UI. We can think of React as the “V” in an MVC framework. Yes, we can use PHP/Rails/Go/Python or whatever language we prefer for backend.

  3. A strong community support To enhance React’s capabilities, open source contributors have build an amazing ecosystem of libraries that enables us to make even more powerful application. This comes at a cost of increased complexity in the front end.

The bottom line is that with a small learning curve, React gives you incredible power in making your UI flexible, reusable and controlled. The core topics you have to master in React are:

  1. Component

  2. JSX

  3. State

  4. Props

We will discuss about them in future posts, so stay tuned.

Take your skills to the next level ⚡️

I'm sending out an occasional email with the latest tutorials on programming, web development, and statistics. Drop your email in the box below and I'll send new stuff straight into your inbox!

No spam. Unsubscribe anytime.